Cod sursa(job #664570)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 20 ianuarie 2012 13:35:54
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;

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


int n,i,v[1000000],r[1000000],s[1000000],k,a,b;
long long rez;

int main()
{
    in>>n>>k>>a>>b;
    for(i=1;i<=n;++i)
    {
        in>>v[i];
    }
    for(i=1;i<=n;++i)
    {
        if(i-b>0)
            r[s[i-b]]--;
        if(i-a>=0)
            r[s[i-a]]++;
        s[i]=(s[i-1]+v[i])%k;
        rez=rez+r[s[i]];
        if(s[i]==0 && i<=b && i>=a)
            rez++;
       // out<<s[i]<<" "<<r[s[i]]<<"\n";
    }
    out<<rez;
    return 0;
}