| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 5 초 | 1024 MB | 111 | 28 | 23 | 29.487% |
길이가 $N$인 수열 $a_{1},ドル $a_{2},ドル $\cdots,ドル $a_{N}$이 주어진다. 다음 쿼리를 수행하는 프로그램을 작성하시오.
단, 모든 입력 데이터에서 $a$의 모든 연속 부분 수열의 $\gcd$의 합은 10ドル^{18}$을 넘지 않음이 보장된다.
첫째 줄에 정수 $N$이 주어진다.
둘째 줄에 $N$개의 정수 $a_{1},ドル $a_{2},ドル $\cdots,ドル $a_{N}$이 주어진다.
셋째 줄에 쿼리의 개수를 나타내는 정수 $Q$가 주어진다.
이후 $Q$개의 줄에 쿼리에 대한 정보가 주어진다. 이 중 $i$번째 줄에는 두 정수 $x_{i}$와 $y_{i}$가 주어진다.
$i$번째 쿼리에서 $l$과 $r$의 값을 각각 $l_{i}$와 $r_{i}$라 할 때, $l_{i} = x_{i} \oplus ans_{i-1},ドル $r_{i} = y_{i} \oplus ans_{i-1}$이다. 이때, $i=0$이면 $ans_{0}=0$이고, $i \ge 1$이면 $ans_{i}$를 $i$번째 쿼리에 대한 답으로 정의한다. 여기서 $\oplus$는 bitwise XOR 연산을 나타낸다.
$Q$개의 수를 한 줄에 하나씩 출력한다. $i$번째 줄에는 $i$번째 쿼리에 대한 답을 출력한다.
5 3 6 4 8 2 3 1 5 40 40 6 0
43 4 26
$l_{1} = 1 \oplus 0 = 1,ドル $r_{1} = 5 \oplus 0 = 5$이다. 따라서 $ans_{1} = 43$이다.
$l_{2} = 40 \oplus 43 = 3,ドル $r_{2} = 40 \oplus 43 = 3$이다. 따라서 $ans_{2} = 4$이다.
$l_{3} = 6 \oplus 4 = 2,ドル $r_{3} = 0 \oplus 4 = 4$이다. 따라서 $ans_{3} = 26$이다.
School > 경기과학고등학교 > 2023 GSHS CS Seminar B번