문제 풀이 및 개발 공간

[백준] 10986번 나머지 합 (gold 3 본문

카테고리 없음

[백준] 10986번 나머지 합 (gold 3

gomduri43 2023. 5. 26. 02:21

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args)throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st=new StringTokenizer(br.readLine());
        int n=Integer.parseInt(st.nextToken());
        int m=Integer.parseInt(st.nextToken());
        long[] num=new long[n+1];
        int[] remain=new int[1001];
        st=new StringTokenizer(br.readLine());
        long answer=0;
        for(int i=1; i<n+1; i++){
            num[i]=(Long.parseLong(st.nextToken())+num[i-1])%m;
            if(num[i]%m==0){
                remain[0]+=1;
                answer+=remain[0];
            }
            else{
                answer+=remain[(int)num[i]%m];
                remain[(int)num[i]]++;
            }
        }
        System.out.println(answer);


    }
}