Cod sursa(job #3313673)

Utilizator InformaticianInDevenire1Munteanu Mihnea Gabriel InformaticianInDevenire1 Data 5 octombrie 2025 20:02:50
Problema Divk Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>
#define int long long

using namespace std;

ifstream fin ("divk.in");
ofstream fout ("divk.out");

int s[500005];
int fr[500005];

signed main()
{
    int n,k,a,b;
    fin >> n >> k >> a >> b;
    for (int i=1;i<=n;++i){
        fin >> s[i];
        s[i] += s[i-1];
        s[i] = s[i]%k;
    }
    int ans = 0;
    for (int i=1;i<=n;++i){
        int j1 = i-a+1;
        int j2 = i-b-1;
        //cout << j2 << ' ' << j1 << " | ";
        if (j1>0) fr[s[j1]]++;
        if (j2>0) fr[s[j2]]--;
        ans += fr[s[i]];
        //cout << fr[s[i]] << '\n';
    }
    fout << ans;
    return 0;
}