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

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

#define int long long
using namespace std;

const int N=1e5+10;
int n,k;
int sum[N];
int cnt[N];//计算能被k%的数
int ans=0;//计数 
signed main()
{
	cin>>n>>k;
	cnt[0]=1;
	for(int i=1;i<=n;i++){
		cin>>sum[i];
		sum[i]+=sum[i-1];//前缀和
		ans+=cnt[sum[i]%k];
		cnt[sum[i]%k]++;
	}
	cout<<ans; 
	return 0;
}
0 回复 0 转发 0 喜欢 4 阅读
回复 (0)
默认 最新
暂无回复,快来抢沙发!