Pagini recente » Cod sursa (job #2555257) | Cod sursa (job #96381) | Cod sursa (job #3236931) | Cod sursa (job #65646)
Cod sursa(job #65646)
#include <stdio.h>
#define NMAX 500020
int n, k, a, b;
int s[NMAX];
int count;
int r[NMAX/5];
void read()
{
int i;
scanf("%d %d %d %d", &n, &k, &a, &b);
for(i = 1; i <= n; ++i)
scanf("%d", s+i), s[i] += s[i-1];
}
void solve()
{
int i;
for(i = 1; i <= b+1; ++i)
++r[s[i] % k];
for(i = b+1; i <= n; ++i)
{
count += r[s[i] % k];
--r[s[i-b+1] % k];
++r[s[i-a+2] % k];
}
}
int main()
{
freopen("divk.in", "r", stdin);
freopen("divk.out", "w", stdout);
read();
solve();
printf("%d\n", count);
fclose(stdin);
fclose(stdout);
return 0;
}