Cod sursa(job #336470)

Utilizator freak93Adrian Budau freak93 Data 31 iulie 2009 16:35:22
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>

using namespace std;

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

const int maxn=500003;
const int maxk=100005;

int s[maxn],r[maxk],i,n,a,b,x,k;

long long rez;

int main()
{
    f>>n>>k>>a>>b;
    for(i=1;i<a;++i)
    {
        f>>x;
        s[i]=s[i-1]+x;
        s[i]%=k;
    }
    for(i=a;i<=n;++i)
    {
        f>>x;
        ++r[s[i-a]];
        s[i]=s[i-1]+x;
        s[i]%=k;
        if(i>b)
            --r[s[i-b-1]];
        rez+=r[s[i]];
    }

    g<<rez<<"\n";

    f.close();
    g.close();

    return 0;
}