Cod sursa(job #3314236)

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

#define int long long

int sp[600005], fr[200005];

signed 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;
    }

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

    cout << nrSiruri;

    return 0;
}