1 #include <stdio.h> 2 int main(int argc, char *argv[]) 3 { 4 int n,m; 5 int a[10001]; 6 int sum[10001]; 7 while( scanf("%d %d" ,&n ,&m)!=EOF ){ 8 int ans=0; 9 int ca[5001]={0}; 10 for(int i=0; i<n; i++){ 11 scanf("%d",&a[i]); 12 if(i==0){ 13 sum[i]=a[i]%m; 14 }else{ 15 sum[i]=(sum[i-1]+a[i])%m; 16 } 17 if(sum[i]%m==0) 18 ans++; 19 ca[sum[i]]++; 20 } 21 for(int i=0; i<m; i++) 22 ans+=ca[i]*(ca[i]-1)/2; 23 printf("%d\n",ans); 24 } 25 return 0; 26 }
原文:http://www.cnblogs.com/chenjianxiang/p/3596619.html