Mai intai trebuie sa te autentifici.

Cod sursa(job #987482)

Utilizator Andrei1998Andrei Constantinescu Andrei1998 Data 20 august 2013 19:55:10
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <fstream>

using namespace std;

int frec[100005];

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

    int n=0,k,a,b,i,st,dr;
    fin>>n>>k>>a>>b;

    int nr[500005];
    nr[0]=0;

    for(i=1;i<=n;i++)
        fin>>nr[i],nr[i]+=nr[i-1],nr[i]%=k;
    fin.close();

    long long int total;
    st=0;
    dr=-1;

    for(i=0;i<=n;i++)
    {
        while((i-st)>b)
            frec[nr[st++]]--;
        while((i-dr-1)>=a)
            frec[nr[++dr]]++;
        total=total+frec[nr[i]]*1ll;
    }
    fout<<total<<'\n';

    fout.close();
    return 0;
}