시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 1024 MB (추가 메모리 없음) | 278 | 148 | 116 | 52.727% |
1부터 $N$까지의 수가 한 번씩 등장하는 수열 $P = \lbrace 1, 2, \cdots, N \rbrace$이 주어진다.
수열 $P$에 대해, $i < j$ 이면서 $P_i > P_j$를 만족하는 순서쌍 $(i, j)$의 개수를 $P$의 반전 수라고 정의하자.
이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
각각의 쿼리를 처리한 다음 수열의 반전 수를 2로 나눈 나머지를 출력한다.
첫째 줄에 수열의 길이 $N$과 쿼리의 개수 $Q$가 공백으로 구분되어 주어진다. ($2 \leq N \leq 10^9$, $1 \leq Q \leq 10^5$)
둘째 줄부터 $Q$개의 줄에 쿼리의 정보 $a, l, r$이 공백으로 구분되어 주어진다. ($1\leq a \leq 2$, $1 \leq l < r \leq N$)
각 쿼리를 처리한 다음 수열의 반전 수를 2로 나눈 나머지를 한 줄에 하나씩 출력한다.
3 4 2 1 3 1 1 2 2 1 3 1 2 3
1 0 1 0
첫 번째 쿼리를 처리하면 수열은 $\lbrace 3,2,1 \rbrace$이 되고 반전 수는 3이다.
두 번째 쿼리를 처리하면 수열은 $\lbrace 2,3,1 \rbrace$이 되고 반전 수는 2이다.
세 번째 쿼리를 처리하면 수열은 $\lbrace 1,3,2 \rbrace$가 되고 반전 수는 1이다.
네 번째 쿼리를 처리하면 수열은 $\lbrace 1,2,3 \rbrace$이 되고 반전 수는 0이다.
High School > 선린인터넷고등학교 > 제6회 천하제일 코딩대회 본선 E번