直接N方的暴力求所有区间的算法居然只对一个点?有大神告诉一下原因么

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 500010;
int n,k;
ll a[maxn];
ll sum[maxn];

int main()
{
int i,j;
scanf("%d %lld",&n,&k);
sum[0] = 0;
for(i = 1; i <= n; i++){
scanf("%lld",&a[i]);
a[i] = a[i] % k;
sum[i] = sum[i - 1] + a[i];
}
ll ans = 0;
for(i = 1; i <= n; i++)
for(j = i; j <= n; j++)
{
if((sum[j] - sum[i - 1]) % k == 0) ans++;
}
printf("%lld\n",ans % 1234567);
return 0;
}

0 条评论

目前还没有评论...

信息

ID
1090
难度
5
分类
其他 | 数学 点击显示
标签
(无)
递交数
3965
已通过
1260
通过率
32%
被复制
20
上传者