Pagini recente » Cod sursa (job #2610388) | Cod sursa (job #1233753) | Cod sursa (job #2365033) | Cod sursa (job #475621) | Cod sursa (job #671296)
Cod sursa(job #671296)
#include<stdio.h>
const int C=9001,N=100001;
int sum[N],f[N];
int main()
{
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
int n,i,x,j,A,B,K,p;
scanf("%d%d%d%d",&n,&K,&A,&B);
long long nr=0;
for(i=1;i<=n;i++)
{
scanf("%d",&x);
sum[i]=(sum[i-1]+x)%K;
p=0;
for(j=i-1;j>=i-A+1;j--)
if(sum[j]==sum[i])
{
p++;
}
for(j=i-B-1;j>=0;j--)
if(sum[j]==sum[i])
{
p++;
}
nr-=p;
f[sum[i]]++;
}
f[0]++;
for(i=0;i<=n;i++)
{
nr+=f[i]*(f[i]-1)/2;
//nr%=C;
}
printf("%d",nr);
}