Pagini recente » Cod sursa (job #801378) | Cod sursa (job #2650573) | Cod sursa (job #2909644) | Cod sursa (job #1821488) | Cod sursa (job #2154723)
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("divk.in");
ofstream cout("divk.out");
int sp[500100];
int rest[100100];
int main() {
int n, a, b;
int k;
cin >> n >> k >> a >> b;
long long ans = 0;
for (int i = 1; i <= n; i++) {
int nr;
cin >> nr;
sp[i] = sp[i - 1] + nr;
sp[i] %= k;
if (i - a >= 0){
rest[sp[i-a]]++;
}
if (i - b - 1 >= 0){
rest[sp[i-b-1]]--;
}
ans += 1LL * rest[sp[i]];
}
cout<<ans;
return 0;
}