구간 활성화
시간 제한2초메모리 제한1024 MB
대화형 문제로, 구간 장벽을 하나씩 뒤집고 그때마다 보이는 칸 수를 확인하여 모든 장벽을 비활성 상태로 만듭니다.
문제
이 문제는 대화형(interactive) 문제입니다.
1번부터 번까지 번호가 붙은 개의 칸으로 이루어진 배열이 있습니다. 을 만족하는 정수 쌍 마다 번 칸부터 번 칸까지(양 끝 포함)를 덮는 장벽이 하나씩 있습니다. 각 장벽은 활성 상태이거나 비활성 상태입니다. 활성 장벽이 하나도 덮지 않는 칸은 보이고, 그렇지 않은 칸은 보이지 않습니다.
각 장벽의 상태는 알 수 없습니다. 관찰할 수 있는 것은 보이는 칸의 개수뿐입니다. 임의의 장벽을 골라 상태를 뒤집을 수 있습니다. 활성 장벽은 비활성이 되고, 비활성 장벽은 활성이 됩니다. 목표는 모든 장벽을 비활성으로 만들어 모든 칸이 보이게 하는 것입니다.
힌트

예시에서 처음에는 장벽 와 만 활성 상태입니다. 두 장벽이 세 칸을 모두 덮으므로 첫 라운드에서 는 입니다.
- 장벽 를 뒤집으면 활성 장벽이 세 개가 되지만, 보이는 칸은 여전히 개이므로 는 입니다.
- 장벽 를 뒤집으면 1번 칸이 보이게 되어 는 입니다.
- 장벽 을 뒤집으면 3번 칸도 보이게 됩니다. 이제 보이지 않는 칸은 2번 칸뿐이고, 이 칸은 활성 장벽 만 덮고 있으므로 는 입니다.
- 장벽 를 뒤집으면 모든 장벽이 비활성이 되어 모든 칸이 보입니다. 을 읽은 뒤 프로그램이 종료됩니다.