Cod sursa(job #903731)
Utilizator | Stefan Teodorescu Stefex09 | Data | 2 martie 2013 18:01:23 |
---|---|---|---|
Problema | Divk | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.54 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in ("divk.in");
ofstream out ("divk.out");
int V[500010], Ap[500010];
int main()
{
int N, K, A, B, i, x, Ans = 0;
in >> N >> K >> A >> B;
for (i = 1; i <= N; i ++){
in >> x;
V[i] = (V[i - 1] + x) % K;
}
for (i = 1; i <= N; i ++){
if (i - A >= 0)
++ Ap[V[i - A]];
if (i - B > 0)
-- Ap[V[i - B - 1]];
Ans += Ap[V[i]];
}
out << Ans;
return 0;
}