연우의 배수로 뚫기
시간 제한1초메모리 제한1024 MB
기둥 높이가 주어질 때 비가 충분히 내린 뒤 고이는 물의 총량을 구하고, 서로 다른 위치에 배수구를 하나씩 설치해 높이를 0으로 만들며 각 단계 이후 남은 물의 양을 출력한다.
문제
일렬로 개의 칸이 이어진 땅이 있다. 각 칸의 높이는 이다.
비가 충분히 많이 내려 현재 땅 위에 물이 최대한으로 고여 있다. 물은 좌우 양쪽이 자신보다 높은 지형으로 둘러싸인 구간에만 고인다. 구체적으로 번 칸에 높이 까지 물이 차오르기 위해선 이면서 을 만족하는 이 존재해야 한다.

연우는 이 땅에 배수구를 설치하여 물을 빼내려고 한다. 어떤 칸 에 배수구를 설치하면, 그 칸의 높이는 이 되고 해당 칸을 통해 연결된 물은 전부 빠져나가게 된다.
연우는 총 개의 배수구를 차례대로 설치한다. 이전에 설치된 배수구는 유지된다. 배수구를 설치하기 전의 물의 총량과, 각 쿼리마다 배수구를 하나 설치한 이후 땅 위에 남아 있는 물의 총량을 구하여라.
입력
첫째 줄에 정수 이 주어진다. ()
둘째 줄에 개의 정수 이 주어진다. ()
셋째 줄에 정수 가 주어진다. ()
넷째 줄부터 개의 줄에 걸쳐, 각 줄에 정수 가 주어진다. ()
입력으로 주어지는 모든 는 서로 다르다.
출력
첫째 줄에, 배수구를 설치하기 전 땅에 고인 물의 총량을 출력한다.
다음 개의 줄에 걸쳐, 각 쿼리마다 배수구를 설치한 이후에 남아 있는 물의 총량을 한 줄에 하나씩 출력한다.