ostasi

Time limit: 0.6s Memory limit: 128MB Input: ostasi.in Output: ostasi.out

Pe data de 15 iulie 1475, în pragul unei mari bătălii, Ștefan cel Mare – marele strateg al Moldovei – își pregătește armata. Ostaşii sunt organizați în nn trupe, numerotate de la 11 la nn. Inițial toţi ostaşii din fiecare trupă au nivelul de experiență 00.

Puterea unei trupe ii (1in1 \le i \le n), notată cu PiP_i, este egală cu cel mai mic nivel de experienţă care lipseşte din trupa respectivă. Iniţial, puterea fiecărei trupe este prin urmare 11.

Pentru a obține un avantaj tactic decisiv, domnitorul emite o listă cu două tipuri de comenzi către hatmanul său de încredere, Jean Carapace:

Comanda Efect
1 i Determină și afișează puterea trupei ii (1in1 \le i \le n)
2 st dr val În fiecare trupă ii (stidrst \le i \le dr) se adaugă un ostaș cu experiența val+(ist)val + (i-st)

Cerință

Scrieţi un program care execută comenzile din lista primită de hatmanul Jean Carapace.

Date de intrare

Fişierul de intrare ostasi.in conţine pe prima linie numerele naturale nn și qq, separate printr-un spaţiu, unde nn reprezintă numărul de trupe, iar qq reprezintă numărul de comenzi din listă. Pe următoarele qq linii sunt scrise cele qq comenzi, câte o comandă pe o linie, în ordinea în care trebuie să fie executate, în formatul descris în enunţ.

Date de ieșire

Fişierul de ieşire ostasi.out va conţine numerele naturale afişate după executarea în ordine a comenzilor din listă, câte un număr pe o linie.

Restricții și precizări

  • 1n,q,val200 0001 \le n, q, val \le 200\ 000
# Punctaj Restricții
1 10 1n,q1 0001 \le n, q \le 1\ 000
2 10 1 000<n,q200 0001\ 000 \lt n, q \le 200\ 000; Toate comenzile de tip 2 sunt plasate înaintea comenzilor de tip 1 şi val=1val=1 pentru toate comenzile de tip 2
3 20 1 000<n,q200 0001\ 000 \lt n, q \le 200\ 000; Toate comenzile de tip 2 sunt plasate înaintea comenzilor de tip 1, fără alte restricţii
4 20 1 000<n,q200 0001\ 000 \lt n, q \le 200\ 000; Pentru toate comenzile de tip 2, val=1val=1, fără alte restricţii
5 10 1 000<n,q200 0001\ 000 \lt n, q \le 200\ 000; Se garantează oricare doi soldați din aceeași trupă au niveluri de experiență diferite (că nu există două comenzi de tipul 2 care să adauge un soldat cu aceeași experiență în aceeași trupă)
6 10 1 000<n,q200 0001\ 000 \lt n, q \le 200\ 000; Comenzile de tip 2 sunt ordonate crescător după valval
7 20 Fără restricții suplimentare

Exemplu

ostasi.in

6 10
2 1 4 1
1 1
2 3 6 1
1 2
2 2 4 1
1 2
2 4 5 1
2 3 6 4
1 3
1 4

ostasi.out

2
1
3
5
6

Explicație

Iniţial cele 66 trupe au mulţimea nivelurilor de experienţă 00.

Trupa 1 2 3 4 5 6
Experiență 0 0 0 0 0 0

Lista conţine 1010 comenzi. După executarea primei comenzi, trupele ii (1i41 \le i \le 4) primesc câte un ostaş cu nivelul de experienţă 1+(i1)1+(i-1).

Trupa 1 2 3 4 5 6
Experiență 0,1 0,2 0,3 0,4 0 0

Cel mai mic nivel de experienţă care lipseşte acum din trupa 11 este 22, deci după executarea celei de a doua comenzi se va afişa 22.

După executarea celei de a treia comenzi, trupele ii (3i63 \le i \le 6) primesc câte un ostaş cu nivelul de experienţă 1+(i3)1+(i-3).

Trupa 1 2 3 4 5 6
Experiență 0,1 0,2 0,1,3 0,2,4 0,3 0,4

După executarea celei de a patra comenzi, se va afişa cel mai mic nivel de experienţă care lipseşte din trupa 22 (adică 11).

După executarea celei de a cincea comenzi, trupele ii (2i42 \le i \le 4) primesc câte un ostaş cu nivelul de experienţă 1+(i2)1+(i-2).

Trupa 1 2 3 4 5 6
Experiență 0,1 0,1,2 0,1,2,3 0,2,3,4 0,3 0,4

După executarea celei de a şasea comenzi, se va afişa cel mai mic nivel de experienţă care lipseşte din trupa 22 (adică 33).

După executarea celei de a şaptea comenzi, trupele ii (4i54 \le i \le 5) primesc câte un ostaş cu nivelul de experienţă 1+(i4)1+(i-4), iar după executarea celei de a opta comenzi trupele ii (3i63 \le i \le 6) primesc câte un ostaş cu nivelul de experienţă 4+(i3)4+(i-3).

Trupa 1 2 3 4 5 6
Experiență 0,1 0,1,2 0,1,2,3,4 0,1,2,3,4,5 0,2,3,6 0,4,7

După executarea celei de a noua comenzi se va afişa cel mai mic nivel de experienţă care lipseşte din trupa 33 (adică 55).

După executarea celei de a zecea comenzi se va afişa cel mai mic nivel de experienţă care lipseşte din trupa 44 (adică 66).

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