거짓말하는 사람 수 알아내는 방법(놀라운 양방향 누적합 테크닉)
1. 문제 31091번: 거짓말 (acmicpc.net) 31091번: 거짓말 당신 앞에는 $N$명의 사람들이 있다. 각 사람은 자신을 포함하여 몇 명 이상이 거짓말을 하고 있다고 말하거나, 몇 명 이하의 사람이 거짓말을 하고 있다고 말한다. 예를 들어, 각 사람이 다음과 www.acmicpc.net 2. 풀이 K명이 거짓말 한다고 가정하자. K = 0,1,2,3,..,n이다. 각각의 경우에 대하여 실제로 각 사람들의 말과 비교할때 누가 거짓말을 하는지 알 수 있다. 이때, 정말로 거짓말하는 사람 수가 K명으로 일치한다면 그러한 K값은 정답에 포함될 것이다. 예를 들어 2명이 거짓말을 한다고 하면... "1명 이상이 거짓말하고 있다."는 참이다. 실제로 2명이 거짓말하고 있으니까 "1명 이하가 거짓말하고..