Pagini recente » Cod sursa (job #3146621) | Cod sursa (job #1727119) | Cod sursa (job #1885973) | Cod sursa (job #2451026) | Cod sursa (job #3137324)
//Ilie Dumitru
#include<cstdio>
const int NMAX=500005;
int v[NMAX];
int cnt[NMAX];
int main()
{
FILE* f=fopen("divk.in", "r"), *g=fopen("divk.out", "w");
//FILE* f=stdin, *g=stdout;
int i, N, a, b, k, sum=0;
long long int ans=0;
fscanf(f, "%d%d%d%d", &N, &k, &a, &b);
for(i=0;i<N;++i)
{
fscanf(f, "%d", v+i);
sum=v[i]=(v[i]+sum)%k;
if(i>=b)
--cnt[v[i-b]];
ans+=cnt[v[i]];
if(i>=a)
++cnt[v[i-a]];
}
fprintf(g, "%lld\n", ans);
fclose(f);
fclose(g);
return 0;
}