nisip

Time limit: 1.5s Memory limit: 128MB Input: nisip.in Output: nisip.out

Loid Forger a primit o nouă misiune: să saboteze o mină importantă de lângă Berlint, Ostania. Mina are forma unei coloane verticale împărțită pe nn niveluri, numerotate de la 11 (cel mai de sus nivel) la nn (cel mai de jos). Fiecare nivel conține aer (care are codul 00), nisip (care are codul 11) sau piatră (care are codul 22).

Misiunea lui Loid constă în a dinamita piatra de pe unele niveluri pentru a provoca surparea minei și curgerea nisipului spre nivelurile inferioare. El are de îndeplinit mm sarcini numerotate de la 11 la mm. Acestea sunt de două tipuri:

  • 1 t p (dinamitare): Loid trebuie ca, la secunda tt, să dinamiteze piatra de pe nivelul pp al minei. Pentru orice astfel de sarcină, Loid știe că, la secunda tt, nivelul pp conține piatră, iar aceasta va fi înlocuită de aer la secunda t+1t+1, după dinamitare.
  • 2 t p (întrebare): Pentru a i se testa perspicacitatea, Loid este întrebat ce conține nivelul pp al minei la secunda tt: aer, nisip sau piatră?

În general, conținutul unui nivel la secunda tt va fi același și la secunda t+1t+1, cu două excepții:

  • Curgerea nisipului: dacă, la secunda tt, nivelul pp conține nisip și nivelul p+1p+1 conține aer, nisipul va curge și, la secunda t+1t+1, nivelul pp conține aer și nivelul p+1p+1 conține nisip.
  • Dinamitarea de către Loid: un nivel care conține piatră și este dinamitat la secunda tt va conține aer la secunda t+1t+1.

Dacă, la secunda tt, fiecare nivel ii de la 11 la nn al minei are același conținut ca la secunda t1t-1, spunem că mina este stabilă la secunda tt.

Cerintă

Dându-se nn, conținuturile tuturor nivelurilor minei la secunda 00, mm și sarcinile care trebuie îndeplinite, să se determine răspunsurile la sarcinile de tip întrebare.

Date de intrare

Fișierul de intrare nisip.in va conține pe prima linie două numere naturale nn și mm separate printr-un spațiu, reprezentând numărul de niveluri ale minei, respectiv numărul de sarcini.

Pe următoarea linie se vor afla nn numere naturale separate prin câte un spațiu, al ii-ulea dintre acestea reprezentând codul conținutul nivelului ii al minei (00 pentru aer, 11 pentru nisip, 22 pentru piatră).

Următoarele mm linii conțin descrierile sarcinilor din cadrul misiunii lui Loid. A ii-a dintre acestea va conține trei numere naturale cic_i, tit_i și pip_i separate printr-un spațiu, reprezentând, în ordine cronologică, sarcinile date lui Loid: cic_i reprezintă tipul sarcinii ii (11 pentru dinamitare, 22 pentru întrebare), tit_i reprezintă secunda și pip_i reprezintă nivelul minei.

Date de ieșire

Fișierul de ieșire nisip.out conține codurile corespunzătoare răspunsurilor la sarcinile de tip întrebare (00 pentru aer, 11 pentru nisip, 22 pentru piatră), în ordinea din fișierul de intrare, câte unul pe fiecare linie.

Restricții

  • 1n1 000 0001 \leq n \leq 1\ 000\ 000
  • 1m1 000 0001 \leq m \leq 1\ 000\ 000
  • 1ti1 000 000 0001 \leq t_i \leq 1\ 000\ 000\ 000 și 1pin1 \leq p_i \leq n pentru orice ii, 1im1 \leq i \leq m.
  • ti<ti+1t_i < t_{i+1}, pentru orice ii, 1im1 \leq i \leq m.
  • Nivelul nn conține întotdeauna piatră și Loid nu va avea niciodată sarcina de a dinamita piatra de pe nivelul nn.
  • Mina este stabilă la secunda 11.
  • Pentru fiecare sarcină ii pentru care ci=1c_i = 1, mina este stabilă la secunda tit_i.
# Punctaj Restricții
1 21 n1 000n \leq 1\ 000, m1 000m \leq 1\ 000, ti3 000t_i \leq 3\ 000, pentru orice ii, 1im1 \leq i \leq m.
2 28 c1=1c_1 = 1, ci=2c_i = 2, pentru orice ii, 2im2 \leq i \leq m.
3 22 Există maximum 1 0001\ 000 de niveluri care conțin nisip și maximum 1 0001\ 000 de sarcini de tipul 11.
4 29 Fără restricții suplimentare.

Exemple

nisip.in

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

nisip.out

1
0
1

Explicații

Conținuturile nivelurilor minei sunt:

  • 0 1 1 2 0 2 la secunda 1,
  • 0 1 1 0 0 2 la secunda 2,
  • 0 1 0 1 0 2 la secunda 3,
  • 0 0 1 0 1 2 la secunda 4,
  • 0 0 0 1 1 2 la secunda 5,
  • 0 0 0 1 1 2 la secunda 6, etc.

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