Cod sursa(job #2697059)

Utilizator IoanMihaiIoan Mihai IoanMihai Data 17 ianuarie 2021 17:01:44
Problema Divk Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
long long n, k, a, b, x, ans, v[500005];
int dp[500005];
int main() {
    fin >> n >> k >> a >> b;
    for (int i=1;i<=n;i++){
        fin >> x;
        v[i] = (v[i-1] + x) % k;
    }

    for (int i=1;i<=n;i++){
        if (i >= a) dp[v[i-a]] ++;
        if (i > b) dp[v[i-b-1]] --;
        ans += dp[v[i]];
    }

    fout << ans << '\n';
    return 0;
}