Atenție! Aceasta este ultima versiune a paginii., scrisă la 2025-12-11 06:31:18.425.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire spiridusi.in, spiridusi.out Sursă ad-hoc
Autor Cătălin Frâncu Adăugată de avatar Catalin.Francu Cătălin Frâncu Catalin.Francu
Timp de execuție pe test 0.3 sec Limită de memorie 524288 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Spiriduși (clasele 9-12)

Spiridușii lui Moș Crăciun tocmai au terminat de asamblat o instalație luminoasă. Ea are n beculețe dispuse în lanț, numerotate de la 1 la n. Acum, spiridușii testează instalația. Mai întîi ei aprind o parte dintre beculețe, apoi fac q operații de două tipuri:

  • 1 x: Schimbă starea beculețului x (aprinde beculețul dacă era stins și invers).
  • 2 x y: Află cel mai mare număr de beculețe consecutive aprinse între pozițiile x și y inclusiv.

Ajutați-i pe spiriduși să afle răspunsurile la operațiile de tipul 2!

Date de intrare

Fișierul de intrare spiridusi.in conține pe prima linie numerele n și q. Pe următoarea linie apar n caractere 0 sau 1, fără spații, indicînd starea inițială a beculețelor (0 = stins, 1 = aprins). Pe următoarele q linii se află cîte o operație, sub una dintre formele 1 x (cu 1 ≤ x ≤ n) sau 2 x y (cu 1 ≤ x ≤ y ≤ n).

Date de ieșire

În fișierul de ieșire spiridusi.out afișați răspunsul la operațiile de tip 2, cîte unul pe linie.

Restricții

  • 1 ≤ n, q ≤ 200.000
  • Testele nu sînt grupate.
subtask puncte restricții
1 30 n, q ≤ 20.000
2 40 n q ≤ 60.000
3 30 Fără restricții suplimentare.

Exemplu

spiridusi.in spiridusi.out
9 4
100110111
2 4 8
2 2 3
1 6
2 4 8
2
0
5

Explicație

Pe pozițiile 4-8 se află beculețele 11011 și există două beculețe consecutive aprinse.
Pe pozițiile 2-3 se află beculețele 00. Nu există beculețe consecutive aprinse.
După aprinderea beculețului 6, instalația devine 100111111.
Acum pe pozițiile 4-8 există 5 beculețe consecutive aprinse.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 4 categorii