Pagini recente » Cod sursa (job #1795472) | Cod sursa (job #1357332) | Cod sursa (job #2453510) | Cod sursa (job #1103483) | Cod sursa (job #951770)
Cod sursa(job #951770)
#include <fstream>
using namespace std;
#define in "divk.in"
#define out "divk.out"
#define N 500005
#define K 100005
int sp[N], n, a, b, k, f[K] = {1};
long long sol;
int main () {
ifstream fin (in);
fin >> n >> k >> a >> b;
for (int i = 1; i <= n; ++i) {
int x;
fin >> x;
sp[i] = (sp[i-1] + x) % k;
}
for (int i = a; i <= n; ++i) {
sol += f[sp[i]];
if (i >= b)
f[sp[i-b]] --;
f[sp[i-a+1]] ++;
}
ofstream fout (out);
fout << sol;
fout.close();
return 0;
}