Glasspelet | 프로그래밍의 벗 PivotOJ
PivotOJ

Glasspelet

시간 제한: 3000ms메모리 제한: 1024MB출처: Programmeringsolympiaden 2020 — onlinekvalBOJ 20823

문제

Kirderf och Slin har kommit tidigt till en stor fest där glass serveras till alla. Just nu är de ensamma i festlokalen där alla NN glassar är uppställda på en lång rad på ett bord. Den finns KK olika slags glassar, där varje sort representeras av ett heltal mellan 00 och K1K-1.

Slin och Kirderf är väldigt sugna på glass och tänker därför spela ett spel där de äter av glassarna. De gör vartannat drag, där ett drag går ut på att äta exakt en glass. När som helst kan festens organisatörer komma in i rummet, och då får det inte vara för uppenbart att Kirderf och Slin har ätit av glassarna. Därför kan de endast välja att äta glassen längst till vänster eller längst till höger, så att det inte blir några mellanrum i raden med glassar. Dessutom måste det alltid finnas minst en av varje glassort kvar, annars är det ju uppenbart att någon har ätit. Den som inte kan göra något drag förlorar.

Kirderf vill absolut inte förlora mot Slin, därför har han bett dig skriva ett program som avgör vem som har en vinnande strategi vid olika tillstånd av spelet. Du kommer få QQ st frågor, där varje fråga är ett intervall [L,R][L,R], och ditt program ska avgöra vem som har en vinnande strategi om bara glass nummer L,L+1,,RL, L+1, \dots, R är kvar (glassarna är numrerade från 11 till NN från vänster till höger).

Att en spelare har en vinnande strategi innebär att den spelaren alltid kan se till att vinna spelet, oavsett vilka drag motståndaren gör. Det går att bevisa att någon av Kirderf eller Slin alltid har en vinnande strategi.

입력

Den första raden innehåller tre heltal NN, KK, QQ (1KN2×1051 \le K \le N \le 2 \times 10^5, 1Q1051 \le Q \le 10^5), Den andra raden innehåller NN heltal, alla mellan 00 och K1K-1. Dessa beskriver hur raden med glassar ser ut. Varje glassort förekommer minst en gång. De följande QQ raderna innehåller två heltal LiL_i och RiR_i (1LiRiN1 \le L_i \le R_i \le N).

출력

Skriv ut QQ rader med ett heltal för varje fråga. Om den spelare som börjar vid tillståndet [Li,Ri][L_i, R_i] har en vinnande strategi, skriv ut 11. Om den andra spelaren har en vinnande strategi, skriv ut 22. Om tillståndet inte är giltigt, dvs om varje glassort inte finns i intervallet, skriv ut 00.

힌트

I tillståndet [1,5][1,5] (dvs alla 55 glassar är kvar) har den andra spelaren en vinnande strategi. Oavsett vad den första spelaren gör har den andra spelaren ett möjligt drag, och efter det finns bara 33 glassar kvar vilket innebär att den första spelaren förlorar.

I tillståndet [1,4][1,4] har den första spelaren en vinnande strategi, nämligen att ta bort glass nummer 11.

Tillståndet [1,3][1,3] är inte giltigt eftersom ingen glass av sort 22 finns bland de tre första.

예제

예제 1

입력
5 3 3
0 0 1 2 0
1 5
1 4
1 3
출력
2
1
0
코드를 제출하려면 로그인하세요.