返回题解分享
讨论 / 题解分享/ 帖子详情

k倍区间(编程题) - 题解

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

const int N = 1e5+10;
ll n,k,x;
ll sum[N];
ll cnt[N];
ll res;

int main(){
	
	cin>>n>>k;
	
	for(int i=1; i<=n; i++){
		cin>>x;
		sum[i]=sum[i-1]+x;
	}
	
	cnt[0] = 1;
	for(int i=1; i<=n; i++){
		res+=cnt[sum[i]%k];
		cnt[sum[i]%k]++; 
	}
	
	cout<<res<<endl;
	
	return 0;
}
0 回复 0 转发 0 喜欢 1 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!