좋은 수열
시간 제한4초메모리 제한1024 MB
0과 1이 같은 개수로 들어 있는 수열에서 구간을 뒤집을 때마다, 네 원소 연산으로 N을 만들 수 있는지 판단합니다.
문제
개의 과 개의 로 이루어진 길이 의 수열 가 있다. 이 수열에 다음 작업을 0회 이상 시행하여 에 이 존재하게 할 수 있으면, 수열 를 좋은 수열이라고 한다.
- 에서 연속한 정수 네 개를 골라 차례대로 , , , 라고 한다. 작업을 시행하기 전 의 길이를 이라고 한다.
- , , , 를 삭제하고, 그 자리에 , 를 차례대로 삽입한다.
- 즉, 을 로 바꾼다.
개의 과 개의 로 이루어진 길이 의 수열 가 주어진다. 다음 쿼리를 적용할 때마다 수열 가 좋은 수열인지 판별하라.
- : 인 모든 에 대해 를 반전시킨다. 즉, 은 으로, 은 로 바꾼다. 이때 구간 에서 의 개수와 의 개수는 같다고 보장된다.
입력
첫 번째 줄에 정수 이 주어진다.
두 번째 줄에 개의 정수 이 공백으로 구분되어 주어진다.
세 번째 줄에 정수 가 주어진다.
이어지는 개의 줄에는 각각 공백으로 구분된 두 정수 과 이 주어진다.
출력
개의 줄에 답을 출력한다. 번째 줄에는 주어진 쿼리를 앞에서부터 개 적용한 뒤 가 좋은 수열이면 YES를, 그렇지 않으면 NO를 출력한다.