Cod sursa(job #3204099)

Utilizator andrei1232008nicolae andrei andrei1232008 Data 15 februarie 2024 17:42:12
Problema Divk Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.42 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
long long i,n,k,a,b,dif,v[500001],nr,fr[500001];
int main()
{
    fin>>n>>k>>a>>b;
    for(i=1;i<=n;i++)
    {fin>>v[i];v[i]=(v[i-1]+v[i])%k;}
    if(b<a)swap(a,b);
    for(i=1;i<=n;i++)
    {
          if(i>=a)fr[v[i-a]]++;
          nr+=fr[v[i]];
       if(i>=b)fr[v[i-b]]--;
    }
    fout<<nr;
    return 0;
}