Pagini recente » Cod sursa (job #1016366) | Cod sursa (job #2197891) | Cod sursa (job #1470543) | Cod sursa (job #1912077) | Cod sursa (job #1765031)
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out;
int nra[100001],nrb[100001],sum[500001];
int main()
{
in = fopen("divk.in","r");
out = fopen("divk.out","w");
int n,k,a,b,i,x;
long long rez = 0;
fscanf(in,"%d %d %d %d\n",&n,&k,&a,&b);
for(i = 1;i <= n;i ++)
{
fscanf(in,"%d\n",&x);
sum[i] = (sum[i-1] + x) % k;
if(i >= a)
{
nra[sum[i-a]] ++;
}
if(i > b){
nrb[sum[i-b-1]] ++;
}
rez = rez + nra[sum[i]] - nrb[sum[i]];
}
fprintf(out,"%lld",rez);
return 0;
}