Cod sursa(job #2452599)
Utilizator | Stanescu Stefan StefanSan | Data | 31 august 2019 14:03:54 |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream in("divk.in");
ofstream out("divk.out");
long long int n, a, b, k, vector[500001], sume[500001], nr = 0;
int main() {
ios_base::sync_with_stdio(false);
in.tie(NULL), out.tie(NULL);
sume[0] = 0;
in >> n >> k >> a >> b;
for (int i = 1; i <= n; i++) {
int x;
in >> x;
sume[i] = (sume[i - 1] + x) % k;
if (i >= a) vector[sume[i - a]]++;
if (i > b)vector[sume[i - b - 1]]--;
nr = nr + vector[sume[i]];
}
out << nr;
}