728x90
문제
https://www.acmicpc.net/problem/10986
풀이
누적합을 사용해 풀었습니다.
ramainder
에 누적합의 나머지 개수를 저장합니다.
\(_{i}{C}_{2}\) 를 계산해 answer
에 더합니다.
코드
파이썬
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
A = list(map(int, input().split()))
total = 0
remainder = [0] * M
for i in range(N):
total += A[i]
remainder[total % M] += 1
answer = remainder[0]
for i in remainder:
answer += (i * (i-1)) // 2
print(answer)
728x90
'🚩 코딩테스트 > 알고리즘' 카테고리의 다른 글
[백준] 14500번: 테트로미노 (1) | 2023.05.10 |
---|---|
[백준] 16586번: 치킨 배달 (0) | 2023.05.09 |
[백준] 1806번: 부분합 (0) | 2023.05.08 |
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2023.03.16 |
[백준] 9019번: DSLR (0) | 2023.03.16 |