XOR 놀이
시간 제한3초메모리 제한512 MB
배열의 원소를 바꾸는 갱신이 있을 때, 구간 안에서 x와 XOR한 값이 가장 작거나 큰 원소의 인덱스를 구합니다. 동점이면 가장 작은 인덱스를 출력합니다.
문제
재현이와 준혁이가 요즘 가장 즐겨 하는 놀이는 XOR 놀이다.
XOR 놀이에서는 배열 가 주어졌을 때 다음 쿼리를 처리한다.
- 1 : 을 만족하는 중에서 와 를 XOR한 값이 가장 작은 를 고르고, 그 를 출력한다. 그런 가 여러 개라면 가장 작은 를 출력한다.
- 2 : 같은 조건에서 XOR한 값이 가장 큰 를 고르고, 그 를 출력한다. 그런 가 여러 개라면 가장 작은 를 출력한다.
- 3 : 를 로 바꾼다.
재현이와 준혁이를 위해 XOR 놀이를 진행하는 프로그램을 만들어보자!
입력
첫째 줄에 배열의 크기 이 주어진다.
둘째 줄에 배열의 원소 가 개 주어진다.
셋째 줄에 쿼리의 수 가 주어진다.
다음 개의 줄에 쿼리가 주어진다. , ,
출력
1번과 2번 쿼리마다 답을 입력된 순서대로 한 줄에 하나씩 출력한다.