불변식 점검표

제출 전에는 세 증거만 확인한다

단조 구조의 정답성은 “무엇을 버렸는지”, “무엇을 저장했는지”, “만료를 언제 제거했는지”로 판정한다.

1. 제거 로그

pop된 후보는 다시 답이 되지 않는다

pop i → answer[i] 확정
2. 보존 정보

값과 인덱스를 함께 남긴다

stack = [(idx, value)]
3. 만료 순서

창 밖 후보를 먼저 제거한다

while front <= i-k: pop_front
예제 남겨야 할 증거 실패하면 보이는 증상
NGE [2,1,3] 1과 2가 3을 만난 순서대로 pop된다. ans가 비거나 중복 기록된다.
윈도우 최댓값 [1,3,3,2] 동점 최댓값과 창 만료 순서가 보존된다. 만료된 인덱스가 답으로 남는다.
가격 기간 [3,3,2] 같은 가격은 유지되고 하락에서만 기간이 끝난다. 동점에서 기간이 짧아진다.

최종 기준: 제거 로그, 인덱스 보존, 창 만료 순서가 한 번에 설명되면 단조 구조 풀이를 제출할 수 있다.