Cod sursa(job #2175804)

Utilizator AlexandruPaulSirbu Alex AlexandruPaul Data 16 martie 2018 19:09:31
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include <iostream>
#include <fstream>
#define Maxx 500001
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
long long S[Maxx],rest[1000001],ans;
int n,a,b,k,i,j;
int main()
{
    fin>>n>>k>>a>>b;
    for (i=1;i<=n;i++)
    {
        fin>>S[i];
        S[i]=(S[i]+S[i-1])%k;
        if (i>=a) rest[S[i-a]]++;
        if (i-b>=1) rest[S[i-b-1]]--;
        ans+=rest[S[i]];
    }
    fout<<ans;
    return 0;
}