sp

Time limit: 0.12s Memory limit: 64MB Input: sp.in Output: sp.out

Se dă un șir SS format din litere mici ale alfabetului englez. O secvență din şir este palindromică dacă prin parcurgerea sa de la dreapta la stânga se obține același cuvânt precum la parcurgerea de la stânga la dreapta.

Cerință

Se formulează mm întrebări de forma ii, jj, kk cu semnificația: pornind de la secvența formată din caracterele dintre indicii ii și jj inclusiv și având posibilitatea să o extindem în total cu maximum kk caractere în SS (imediat în stânga poziției ii și/sau imediat în dreapta poziției jj), putem să obținem o secvență palindromică?

Date de intrare

Fișierul de intrare sp.in conține pe prima linie un șir SS format din litere mici ale alfabetului englez, neseparate prin spații. Pe linia a doua se găsește numărul de interogări mm. Pe fiecare dintre următoarele mm linii se găsesc câte trei numere ii, jj și kk (separate prin spațiu), reprezentând indicele de început, cel de final pentru câte o secvență și numărul maxim de caractere cu care eventual o putem extinde.

Date de ieșire

Fișierul de ieșire sp.out va conține o singură linie pe care vor fi scrise mm valori 00 sau 11, neseparate prin spații. Dacă din cea de a ii-a interogare, dintre cele mm din fișierul de intrare, putem forma un palindrom în condițiile din enunț, al ii-lea număr din fișier va fi 11, iar în caz contrar va fi 00.

Restricții și precizări

  • Notăm cu nn lungimea şirului SS
  • 1n200 0001 \leq n \leq 200 \ 000
  • 1m200 0001 \leq m \leq 200 \ 000
  • 0k50 \leq k \leq 5
  • La fiecare interogare dată sub forma i j ki \ j \ k, avem 1ijn1 \leq i \leq j \leq n
  • Şirul SS este indexat de la 11.
  • Pentru teste în valoare de 2323 de puncte: 1n2 0001 \leq n \leq 2 \ 000, 1m2 0001 \leq m \leq 2 \ 000, și k=0k = 0 pentru toate interogările.
  • Pentru alte teste în valoare de 1111 puncte avem 1n2 0001 \leq n \leq 2 \ 000, 1m2 0001 \leq m \leq 2 \ 000.
  • Pentru alte teste în valoare de 4545 de puncte avem 1n2 0001 \leq n \leq 2 \ 000, 1m200 0001 \leq m \leq 200 \ 000.
  • Pentru alte teste în valoare de 2121 de puncte se păstrează restricțiile generale.

Exemplu

sp.in

abaaaac
6
1 2 0
1 2 1
2 4 1
2 4 2
1 2 0
2 2 1

sp.out

010001

Explicație

La prima interogare, k=0k = 0 iar secvența dată nu este palindromică, deci se scrie la ieșire 00.

La a doua interogare este vorba despre aceeași secvență dar acum k=1k = 1. Deci putem să o extindem cu un caracter. Se poate cu acela din dreapta și obținem secvența aba care este palindromică.

La a treia interogare, secvența formată baa nu este palindromică iar prin extinderea cu un caracter obținem secvențele abaa (extinzând în stânga) sau baaa (extinzând în dreapta). Niciuna dintre aceste secvențe nu este palindromică.

La a patra interogare avem secvența baa și o putem extinde cu până la două caractere: avem variantele: cu un caracter din stânga și obținem abaa, cu un caracter din dreapta și obținem baaa, cu un caracter din stânga și unul din dreapta și obținem abaaa, cu două caractere din dreapta și obținem baaaa. Nu putem extinde cu două caractere în stânga pentru că nu avem.

A cincea interogare este aceeași cu prima și rezultatul este 00, iar a șasea interogare conține un interval dintr-un element, iar acesta reprezintă o secvență palindromică.

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