Pagini recente » Cod sursa (job #234209) | Cod sursa (job #2077705) | Cod sursa (job #3295864) | Cod sursa (job #2121899) | Cod sursa (job #3318226)
#include <bits/stdc++.h>
using namespace std;
#if 0
#define fin cin
#define fout cout
#else
ifstream fin("divk.in");
ofstream fout("divk.out");
#endif
long long n, k, a, b, x, i, j, v[500002];
long long sum[500002], nr;
int main() {
//ios_base::sync_with_stdio(false);
fin.tie(nullptr);
fout.tie(nullptr);
fin >> n >> k >> a >> b;
for(i = 1; i <= n; i++) {
fin >> x;
sum[i] = (sum[i - 1] + x) % k;
}
if(b < a) swap(a, b);
for(j = 1; j <= n; j++) {
if(j >= a) v[sum[j - a]]++;
nr += v[sum[j]];
if(j >= b) v[sum[j - b]]--;
}
fout << nr;
return 0;
}