Pagini recente » Cod sursa (job #997979) | Cod sursa (job #1374218) | Cod sursa (job #83391) | Cod sursa (job #3229715) | Cod sursa (job #1693340)
#include <bits/stdc++.h>
#define maxN 500002
#define maxK 100002
#define ll long long
using namespace std;
int n, a, b, k, v[maxN], s[maxK], aps[maxK];
ll sol;
void read()
{
int i;
freopen("divk.in", "r", stdin);
scanf("%d %d %d %d", &n, &k, &a, &b);
for (i = 1; i <= n; ++ i)
{
int x;
scanf("%d", &x);
s[i] = (s[i - 1] + x) % k;
}
}
void solve()
{
int i, j;
for (i = a; i <= n; ++ i)
{
if (i > b)
-- aps[s[i - b - 1]];
++ aps[s[i - a]];
sol += 1LL * aps[s[i]];
}
}
void write()
{
freopen("divk.out", "w", stdout);
printf("%lld", sol);
}
int main()
{
read();
solve();
write();
return 0;
}