Pagini recente » Cod sursa (job #2843038) | Cod sursa (job #1490936) | Cod sursa (job #2884730) | Cod sursa (job #3127416) | Cod sursa (job #2523419)
#include <fstream>
#include <string>
#include <stdio.h>
#include <vector>
#include <algorithm>
#include <math.h>
#include <set>
#include <map>
#include <string.h>
#include <queue>
using namespace std;
#ifdef DEBUG
string name = "data";
#else
string name = "divk";
#endif
ifstream fin(name + ".in");
ofstream fout(name + ".out");
int n,k,a,b, x;
int f[100005];
int s[100005];
int main() {
fin >> n >> k >> a >> b;
int64_t result = 0;
for (int i = 1; i <= n; ++i) {
fin >> x;
s[i] = (s[i - 1] + x) % k;
if (i > b) {
f[s[i - b]]--;
}
if (i >= a) {
f[s[i]]++;
result += f[s[i]] - 1;
}
}
fout << result;
return 0;
}