Pagini recente » Cod sursa (job #1434864) | Cod sursa (job #909743) | Cod sursa (job #1545372) | Cod sursa (job #51443) | Cod sursa (job #1695175)
#include <stdio.h>
#include <stdlib.h>
long long sum[500001], v[500001], rez;
int main(){
int n, k, i, x, a, b;
FILE*fi,*fo;
fi=fopen("divk.in","r");
fo=fopen("divk.out","w");
fscanf(fi,"%d%d%d%d", &n, &k, &a, &b);
for(i=1;i<=n;i++){
fscanf(fi,"%d", &x);
sum[i]=(sum[i-1]+x)%k;
if(i>=a)
v[sum[i-a]]++;
if(i>b)
v[sum[i-b-1]]--;
rez+=v[sum[i]];
}
fprintf(fo,"%lld", rez);
fclose(fi);
fclose(fo);
return 0;
}