반전 수와 쿼리
시간 제한2초메모리 제한1024 MB
1부터 N까지의 순열에서 두 원소 교환과 구간 뒤집기 쿼리를 처리한 뒤, 매번 반전 수를 2로 나눈 나머지를 출력한다.
문제
1부터 까지의 수가 한 번씩 등장하는 수열 이 주어진다.
수열 에 대해, 이면서 를 만족하는 순서쌍 의 개수를 의 반전 수라고 정의하자.
이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
- 1 : 와 를 교환한다.
- 2 : 에서 사이의 수를 뒤집는다. 뒤집은 뒤의 수열은 다음과 같다.
각각의 쿼리를 처리한 다음 수열의 반전 수를 2로 나눈 나머지를 출력한다.
입력
첫째 줄에 수열의 길이 과 쿼리의 개수 가 공백으로 구분되어 주어진다. (, )
둘째 줄부터 개의 줄에 쿼리의 정보 이 공백으로 구분되어 주어진다. (, )
출력
각 쿼리를 처리한 다음 수열의 반전 수를 2로 나눈 나머지를 한 줄에 하나씩 출력한다.
힌트
- Python 사용자는 PyPy로 제출하는 것을 권장한다.