Cod sursa(job #3348274)

Utilizator HortolomeiElizaHortolomeiEliza HortolomeiEliza Data 20 martie 2026 14:58:59
Problema Divk Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
const int N = 5e5;
const int K = 1e5;
int s[N+1],n,k;
int nr_pref_st[K],nr_pref[K];
long long nr_secv_val(int lung){
    long long nr_secv=0;
    nr_pref_st[0]=1;
    for(int j=0;j<k;j++){
        nr_pref_st[j]=0;
    }
    for(int i=1;i<=n;i++){
        if(i>lung){
           nr_pref_st[s[i-lung-1]]--;
        }
        nr_secv+=nr_pref[s[i]];
        nr_pref[s[i]]++;
    }
    return nr_secv;
}
int main()
{
    int a,b;
    fin>>n>>k>>a>>b;
    for(int i=1;i<=n;i++){
        int x;
        fin>>x;
        s[i]=(s[i-1]+x)%k;
    }
    fin.close();
    fout<<nr_secv_val(b)-nr_secv_val(a)+1;
    return 0;
}