#1193
Platinum III
수열과 쿼리 11
시간 제한
1.5s
메모리 제한
512MB
제출
2
정답
1
맞힌 사람
1
정답 비율
50.0%

문제

길이가 NN인 수열 A1,A2,,ANA_1, A_2, \cdots, A_N이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성해 보자.

  • 1 l r x: lirl\le i\le r인 모든 ii에 대해 Ai=AiXA_i = A_i \oplus X를 적용한다.
  • 2 l r: AlAl+1ArA_l \oplus A_{l+1} \oplus \cdots \oplus A_r를 출력한다.

이때 \oplusBitwise-XOR 연산을 의미한다.

입력

첫째 줄에 수열의 크기 NN과 쿼리의 개수 QQ가 공백으로 구분되어 주어진다. (1N,Q5000001 \le N, Q \le 500\,000)

둘째 줄에 A1,A2,,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (0Ai1090 \le A_i \le 10^9)

셋째 줄부터 QQ개의 줄에 걸쳐 각 줄에 쿼리가 1 l r x 또는 2 l r로 주어진다. (1lrN;0x1091\le l\le r\le N; 0\le x \le 10^9)

출력

2번 쿼리의 답을 한 줄에 하나씩 출력한다.

예제 입력 1

5 6
1 2 3 4 5
2 1 5
1 1 4 2
1 2 5 3
1 3 3 4
1 4 5 9
2 1 5

예제 출력

1
5
문제를 만든 사람
조서현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
5958🥇
조서현
C++31ms3052KB1234B
난이도 투표
Platinum III1명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
5958
맞았습니다
C++31ms3052KB1234B2026. 05. 04. 15:14
5957
컴파일 에러
C++--658B2026. 05. 04. 15:14