Fişierul intrare/ieşire:lacoada.in, lacoada.outSursăad-hoc
AutorCatalin FrancuAdăugată deCatalin.FrancuCatalin Francu Catalin.Francu
Timp execuţie pe test0.7 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

La coadă

La BIG au băgat pui1. Instantaneu s-a format o coadă de N persoane, numerotate în ordine de la 1 la N. La coadă se pot întâmpla următoarele lucruri:

  1. Servire: prima persoană de la coadă primeşte un pui şi pleacă acasă.
  2. Sosire: la coadă se mai aşează o persoană. Noii veniţi sunt numerotaţi în continuare: N + 1, N + 2 ş.a.m.d.
  3. Îmbrâncire(x): persoana numărul x face rost de o relaţie şi se îmbrânceşte până pe prima poziţie a cozii. Dacă persoana era deja prima, nu se schimbă nimic.

Se dă o listă de K operaţii. Să se spună care este configuraţia finală a cozii. Se garantează că în niciun moment lungimea cozii nu va depăşi N (oamenii se descurajează dacă văd o coadă prea lungă şi nu se mai aşează). Se garantează că operaţiile de servire şi îmbrâncire nu se vor efectua pe o coadă goală.

Date de intrare

Fişierul de intrare lacoada.in conţine pe prima linie numerele N şi K. Pe următoarele K linii se vor găsi operaţiile, numerotate ca mai sus, într-una din formele

1
2
3 x

Se garantează că x este numărul unei persoane din coadă.

Date de ieşire

În fişierul de ieşire lacoada.out se va tipări pe prima linie lungimea cozii la sfârşitul operaţiilor. Pe a doua linie se vor tipări, în ordine, numerele persoanelor de la coadă, începând cu prima.

Restricţii

  • 1 ≤ N ≤ 60.000
  • 1 ≤ K ≤ 1.000.000

Exemplu

lacoada.inlacoada.outExplicaţie
6 6
3 5
1
3 3
2
3 7
1
5
3 1 2 4 6
5 se îmbrânceşte, coada devine 5 1 2 3 4 6
5 este servit, coada devine 1 2 3 4 6
3 se îmbrânceşte, coada devine 3 1 2 4 6
7 soseşte, coada devine 3 1 2 4 6 7
7 se îmbrânceşte, coada devine 7 3 1 2 4 6
7 este servit, coada devine 3 1 2 4 6

Note

1 Spre norocul vostru, nu este nevoie să ştiţi ce este un BIG sau cine „au băgat” pui.

Trebuie sa te autentifici pentru a trimite solutii. Click aici