14求调
查看原帖
14求调
1286754
pcx2013楼主2024/12/22 14:00
#include<bits/stdc++.h>
#define LL long long//因为10^5*10^5>int 
using namespace std;
const int N=1e5+5;
LL a[N],s[N],mod[N];//mod用于存储模数
LL n,k,ans=0;
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
    	cin>>a[i];
		s[i]=s[i-1]+a[i];//前缀和 
	 } 
    for(int i=1;i<=n;i++)
    {
    	int m=s[i]%k;//记录区间内k的结果
    	ans+=mod[m];//加上余数个数 
    	mod[m]++;//余数个数++
	}  
    cout<<ans<<endl;
    return 0;
}
2024/12/22 14:00
加载中...