expozitie

Time limit: 0.3s Memory limit: 128MB Input: expozitie.in Output: expozitie.out

O expoziţie de pictură este organizată într-o clădire circulară formată din N+1N + 1 săli numerotate de la 00 la NN în sens trigonometric. Iniţial, toate sălile sunt goale. Prima sală este numerotată cu 00 şi în ea intră câte YY oameni în fiecare minut. Următoarele NN săli au uşi de ieşire. Din sala ii, 1iN1 \leq i \leq N vor ieşi în fiecare minut xix_i oameni, dar numai dacă există cel puţin xix_i oameni în sala respectivă. După ce intră oameni în sala 00 şi pleacă eventual oameni din celelalte săli, în acelaşi minut, toţi cei rămaşi în expoziţie trec în sala următoare. Mai precis, dacă un om se află în sala iN1i \leq N - 1 atunci el trece în sala i+1i + 1, iar dacă este în sala NN atunci trece în sala 00.

Cerinţă

Să se scrie un program care pentru numere NN, QQ, yy cunoscute şi sirul xix_i, 1iN1 \leq i \leq N cunoscut, răspunde la întrebări de forma: „Câţi oameni sunt după tt minute în sala ss?”.

Date de intrare

Fişierul de intrare expozitie.in conţine pe prima linie numerele NN, QQ şi yy. Pe a doua linie vor exista NN numere separate prin câte un spaţiu reprezentând elementele vectorului xx. Pe următoarele QQ linii vor fi descrise cele QQ întrebări şi vor conţine câte două numere tt şi ss separate prin spaţiu reprezentând un număr de minute şi un număr de sală corespunzător unei întrebări.

Date de ieșire

Fişierul de ieşire expozitie.out va conţine QQ linii. Pe aceste linii se vor găsi răspunsurile la cele QQ întrebări în ordinea în care acestea apar în fişierul de intrare.

Restricții și precizări

  • 1N1 0001 \leq N \leq 1 \ 000;
  • 1Q1 000 0001 \leq Q \leq 1 \ 000 \ 000;
  • 1y1 0001 \leq y \leq 1 \ 000;
  • 1xi1001 \leq x_i \leq 100;
  • 0sN0 \leq s \leq N pentru fiecare întrebare;
  • 1t1 000 000 0001 \leq t \leq 1 \ 000 \ 000 \ 000 pentru fiecare întrebare;

Exemplu

expozitie.in

3 5 4
3 2 2
1 2
4 1
6 2
5 1
4 0

expozitie.out

0
4
2
5
1

Explicație

Începând cu minutul 11 distribuţiile în cele 44 săli va fi următoarea:

0 4 0 0
0 4 1 0
0 4 1 1
1 4 1 1
1 5 1 1
1 5 2 1...

Log in or sign up to be able to send submissions!