10986 나머지 합(acmicpc.net) 어떤 수열의 부분합이 M으로 나누어 떨어지는 구간의 개수를 구하는 문제이다. 모든 부분합에 대해서 경우의 수를 세어주면 O(N2)의 시간에 해결할 수 있다.하지만 N의 범위가 106까지 이므로이 시간 복잡도로는 문제를 해결할 수 없다. A의 누적합 배열을 prefix라 하고잘 생각해 보면 우리가 원하는 경우는(prefix[j] - prefix[i-1])%m == 0인 경우이다. (i 이를 풀어보면prefix[j]%m - prefix[i-1]%m == 0prefix[j]%m == prefix[i-1]%m을 얻을 수 있다. 서로 나머지가 같은 것을 선택하면 서로 상쇄하기 때문에(부분합을 구할때 prefix[j] - prefix[i-1] 를 하는 것을 생각해보면 ..