10986 C++

· Algorithm
문제 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 106, 2 ≤ M ≤ 103) 둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 109) 출력 첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다. 접근 방식 너무 어려워서 다른 블로그 글을 참고했는데도 잘 이해가 안간다.. 일단 접근 방식은 모듈러 연산이라고 한다. (A%M) == (B%M) 일때, A-B는 M의 배수이다..
따봉치치
'10986 C++' 태그의 글 목록