Cod sursa(job #664574)

Utilizator gramatovici_paulGramatovici Paul gramatovici_paul Data 20 ianuarie 2012 13:42:48
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 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-a>=0)
            r[s[i-a]]++;
        s[i]=(s[i-1]+v[i])%k;
        rez=rez+r[s[i]];
        if(i-b>=0)
            r[s[i-b]]--;
        //if(s[i]==0 && i<=b && i>=a)
         //   rez++;
       // out<<s[i]<<" "<<r[s[i]]<<"\n";
    }
    out<<rez;
    return 0;
}