Cod sursa(job #3314234)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 9 octombrie 2025 01:39:36
Problema Divk Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <bits/stdc++.h>
using namespace std;

int sp[500001], fr[100001];

int main()
{
#ifndef LOCAL
    ifstream cin("divk.in");
    ofstream cout("divk.out");
#endif

    int N, K, A, B;
    cin >> N >> K >> A >> B;
    for(int i = 1; i <= N; ++i) {
        int nr;
        cin >> nr;
        sp[i] = (sp[i-1] + nr) % K;
    }

    int nrSiruri = 0;
    for(int i = A; i <= N; ++i) {
        if(i > B) --fr[sp[i-B-1]];
        ++fr[sp[i-A]];
        nrSiruri += fr[sp[i]];
    }

    cout << nrSiruri;

    return 0;
}