Pagini recente » Cod sursa (job #97206) | Cod sursa (job #2703171) | Cod sursa (job #654442) | Cod sursa (job #1280326) | Cod sursa (job #1905705)
#include <cstdio>
using namespace std;
const int NMAX = 500005;
int v[NMAX];
int vf[NMAX];
int main()
{
int n, k, a, b, i;
long long int sol = 0;
freopen("divk.in","r",stdin);
freopen("divk.out","w",stdout);
scanf("%d%d%d%d", &n, &k, &a, &b);
for(i = 1;i <= n; ++i) {
scanf("%d", &v[i]);
v[i] += v[i - 1];
v[i] %= k;
}
for(i = 1;i <= n; ++i) {
vf[v[i - a]] += 1 * (i >= a);
vf[v[i - b - 1]] -= 1 * (i > b);
sol += vf[v[i]];
}
printf("%lld\n", sol);
return 0;
}