#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=50009;
int t;
signed main(){
cin>>t;
while(t--){
int k,n;
cin>>k>>n;
int s[N];
map<int,int> m;
vector<int> v;
for(int i=1;i<=n;i++){
int temp;
scanf("%lld",&temp);
s[i]=(s[i-1]+temp)%k;
}
for(int i=0;i<=n;i++){
if(m[s[i]]==0) v.push_back(s[i]);
m[s[i]]++;
}
int ans=0;
for(int i=0;i<v.size();i++){
int c=m[v[i]];
ans+=c*(c-1)/2;
}
printf("%lld\n",ans);
}
return 0;
}
您是否可以写出您的思路
1 个赞
这句话有什么用啊?您也没用过long long啊
1 个赞