br

Time limit: 0.1s Memory limit: 16MB Input: br.in Output: br.out

NN prieteni, numerotaţi de la 11 la NN, beau bere fără alcool la o masă rotundă.

Pentru fiecare prieten ii se cunoaşte CiC_i – costul berii lui preferate. Din când în când, câte un prieten, fie el kk, cumpără câte o bere pentru o secvenţă de prieteni aflaţi pe poziţii consecutive la masă, inclusiv lui, în sensul acelor de ceasornic.

El este dispus să cheltuiască xx bani şi doreşte să facă cinste la un număr maxim posibil de prieteni.

Cerință

Se cere numărul de beri pe care le va cumpăra fiecare prieten kk în limita sumei xx de bani de care dispune. În caz că xx este mai mare decât costul berilor pentru toţi prietenii de la masă, se vor achiziţiona maxim NN beri.

Date de intrare

Prima linie a fişierului de intrare br.in conţine două numere naturale NN şi TT separate printr-un spaţiu reprezentând numărul de prieteni şi respectiv numărul de prieteni care doresc să facă cinste prietenilor săi.

A doua linie a fişierului de intrare conţine NN numere naturale C1,C2,CNC_1, C_2, \ldots C_N, separate prin câte un spaţiu, reprezentând costurile berilor preferate de fiecare prieten. Berea pentru prietenul ii are costul CiC_i.

Fiecare din următoarele TT linii conţine câte două numere separate printr-un spaţiu:

  • k1 x1k_1 \ x_1
  • k2 x2k_2 \ x_2
  • \dots
  • kT xTk_T \ x_T

precizând indicele câte unui prieten care face cinste şi respectiv suma de bani de care acesta dispune.

Date de ieșire

Fişierul de ieşire br.out va conţine TT linii, fiecare cu un singur număr DiD_i reprezentând numărul de beri pe care le va cumpăra prietenul kik_i cu suma de bani xix_i in condiţiile problemei.

Restricții și precizări

  • 1N15 0001 \leq N \leq 15 \ 000
  • 1T10 0001 \leq T \leq 10 \ 000
  • 1Ci1001 \leq C_i \leq 100
  • 1kiN1 \leq k_i \leq N
  • 1xi3 000 0001 \leq x_i \leq 3 \ 000 \ 000
  • Un program corect, care se încadrează în timp pentru T4 000T \leq 4 \ 000, va obţine cel puţin 3030 de puncte
  • Un program corect, care se încadrează în timp pentru N2 000N \leq 2 \ 000, va obţine cel puţin 6060 de puncte
  • Prietenii beau numai berea lor preferată

Exemplu

br.in

5 4
10 5 15 22 13
1 32
4 50
1 9
4 200

br.out

3
4
0
5

Explicație

Prietenul 11 cumpără câte o bere pentru el şi pentru prietenii 2,32, 3. Costul celor 33 beri este 3030.

Prietenul 44 cumpără 44 beri: câte una pentru el şi pentru prietenii 5,1,25, 1, 2. Costul celor 44 beri este 5050.

Cu 99 bani prietenul 11 nu poate cumpăra nici măcar berea lui.

Prietenul 44 cumpără 55 beri. Costul celor 55 beri este sub limita de cost 200200.

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