Cod sursa(job #2772566)

Utilizator Andrei_TudorAndrei Tudor Andrei_Tudor Data 1 septembrie 2021 17:19:31
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
using namespace std;
int v[500005], f[100003];
ifstream cin("divk.in");
ofstream cout("divk.out");
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;
}