Pagini recente » Cod sursa (job #2409640) | Cod sursa (job #1482195) | Cod sursa (job #3216199) | Cod sursa (job #1055999) | Cod sursa (job #333113)
Cod sursa(job #333113)
#include <stdio.h>
FILE *in, *out;
long int n,k,a,b,i,rez,s[500005],v[500005];
int main()
{
in=fopen("divk.in","r");
out=fopen("divk.out","w");
fscanf(in,"%ld %ld %ld %ld\n",&n,&k,&a,&b);
for(i=1;i<=n;i++)
{
fscanf(in,"%ld\n",&s[i]);
s[i]+=s[i-1];
}
for(i=0;i<=b-a;i++)
{
v[s[i]%k]++;
rez+=v[s[i+a]%k];
}
v[0]--;
for(i=b-a+1;i<=n-a;i++)
{
v[s[i-(b-a)]%k]--;
v[s[i]%k]++;
rez+=v[s[i+a]%k];
}
fprintf(out,"%ld",rez);
fclose(out);
return 0;
}