clasament

Time limit: 1.75s Memory limit: 128MB Input: clasament.in Output: clasament.out

Deoarece este ultimul baraj, comisia în sfârşit se va putea relaxa privind clasamentul concurenţilor în timp real de la probă. Însă, evident, asta nu îi satisface îndeajuns, aşa că ei mai vor să ştie, după fiecare schimbare de punctaj a unui concurent, de câte ori au mai fost concurenţii ordonaţi în ordinea respectivă de-a lungul concursului până în momentul respectiv.

Date de intrare

Fişierul de intrare clasament.in conţine pe prima linie numerele NN şi MM, reprezentând numărul de concurenţi, respectiv numărul de modificări ale clasamentului. Pe următoarea linie se află NN numere, punctajele celor NN concurenţi înainte de probă (deoarece departajarea a fost foarte bine făcută, toate punctajele sunt diferite). Pe următoarele MM linii se află MM perechi de numere xx şi yy ce descriu în ordine cronologică schimbările de punctaj. A ii-a pereche reprezintă faptul că scorul participantului xx a devenit yy. Punctajul unui concurent la un moment de timp poate fi mai mic decât la începutul concursului, dar se garantează că nu va fi negativ.

Date de ieșire

În fişierul de ieşire clasament.out se vor afişa MM linii, pe fiecare linie fiind răspunsul cerut.

Restricții și precizări

  • 1N50 0001 \leq N \leq 50 \ 000
  • 1M200 0001 \leq M \leq 200 \ 000
  • 1xN1 \leq x \leq N
  • Atât la începutul concursului, cât şi pe parcursul acestuia, punctajele concurenţilor vor fi numere întregi din intervalul [0,1 000 000 000][0, 1 \ 000 \ 000 \ 000]
  • Clasamentul este descrescător după scor.
  • În cazul în care 22 sau mai multe punctaje sunt egale la un moment de timp, concurenţii sunt departajaţi în funcţie de timpul ultimei modificări de punctaj, astfel încât concurentul care a obţinut punctajul mai devreme este clasat mai sus.
  • Pentru 20%20\% din teste 1N,M2 0001 \leq N, M \leq 2 \ 000

Exemplu

clasament.in

3 6
10 12 8
1 13
2 15
3 10
1 17
2 20
1 20

clasament.out

0
1
2
1
3
4

Explicație

Moment 00: clasament: {2,1,32, 1, 3}, punctaje: {10,12,810, 12, 8}
Moment 11: clasament: {1,2,31, 2, 3}, punctaje: {13,12,813, 12, 8}
Moment 22: clasament: {2,1,32, 1, 3}, punctaje: {13,15,813, 15, 8} (la fel ca în momentul 00)
Moment 33: clasament: {2,1,32, 1, 3}, punctaje: {13,15,1013, 15, 10} (la fel ca în momentele 00 şi 22)
Moment 44: clasament: {1,2,31, 2, 3}, punctaje: {17,15,1017, 15, 10} (la fel ca în momentul 11)
Moment 55: clasament: {2,1,32, 1, 3}, punctaje: {17,20,1017, 20, 10} (la fel ca în momentele 00, 22 şi 33)
Moment 66: clasament: {2,1,32, 1, 3}, punctaje: {20,20,1020, 20, 10} (la fel ca în momentele 00, 22, 33 şi 55)
Întrucât ultimul clasament e identic cu primul, putem spune că barajul a fost cam degeaba.

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