Pagini recente » Borderou de evaluare (job #1304942) | Borderou de evaluare (job #1788206) | Borderou de evaluare (job #507430) | Borderou de evaluare (job #2278912) | Cod sursa (job #3364329)
#include <iostream>
using namespace std;
int n,t,a;
long long cnt=0;
long long frec[1000000];
int s[100005],v[100002];
int main()
{
cin>>t;
for(int i=1;i<=t;i++)
{
cin>>n;
cin>>a;
for(int j=1;j<=n;j++)
{
v[j]=(a%10)-1;
a/=10;
}
for(int j=1;j<=n;j++)
{
s[j]=s[j-1]+v[j];
frec[s[j]+n]++;
}
for(int j=0;j<=9*n;j++)
{
cnt=frec[j]*(frec[j]-1)/2;
frec[j]=0;
}
cnt+=frec[n];
cout<<cnt<<'\n';
}
return 0;
}