합이 일정한 과정
시간 제한2초메모리 제한512 MB
배열에 값을 바꾸는 갱신과 구간 질의가 주어질 때, 두 연산을 최대 연쇄로 적용한 뒤 남는 0의 최대 개수를 구합니다.
문제
원소가 모두 음이 아닌 정수인 배열 가 있다고 하자. 이 배열에 다음 두 종류의 연산을 적용할 수 있다.
- , .
- 이면 , .
연산을 적용한 뒤에도 모든 원소는 0 이상이어야 한다.
연산을 무한히 반복할 수는 없다. 더 이상 유효한 연산이 없는 연산의 연속을 극대라고 부른다.
길이 인 배열 가 주어진다. 다음 두 종류의 쿼리를 처리하라.
- "1 ": 로 대입한다.
- "2 ": 부분 배열 을 배열 로 본다. 극대 연산의 연속을 적용한 뒤 이 배열에 있을 수 있는 0의 최대 개수를 구하라. 이 쿼리에서 배열 는 실제로 바뀌지 않는다.
입력
첫째 줄에 배열 의 길이 ()이 주어진다.
둘째 줄에는 배열 의 초기 원소 개가 공백으로 구분되어 주어진다 ().
셋째 줄에는 쿼리의 개수 ()가 주어진다.
이어지는 개의 줄에 쿼리가 하나씩 주어진다. 첫 번째 유형의 쿼리에서는 , 이다. 두 번째 유형의 쿼리에서는 이다.
출력
두 번째 유형의 각 쿼리에 대해 답을 한 줄에 하나씩, 입력된 순서대로 출력한다.