Cod sursa(job #2772564)

Utilizator Andrei_TudorAndrei Tudor Andrei_Tudor Data 1 septembrie 2021 17:11:24
Problema Divk Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <iostream>
using namespace std;
int v[500005], f[100003];
int main() {
    int n, k, a, b;
    cin >> n >> k >> a >> b;
    for(int i = 1; i <= n; i ++){
        cin >> v[i];
    }
    for(int i = 1; i <= n; i ++){
        v[i] += v[i - 1];
        v[i] = v[i] % k;
    }
    long long ans = 0;
    for(int i = a; i <= n; i ++){
        f[v[i - a]] ++;
        if(i > b){
            f[v[i - b - 1]] --;
        }
        ans += f[v[i]];
    }
    cout << ans;
    return 0;
}