Cod sursa(job #935682)

Utilizator oprea1si2si3Oprea Sebastian oprea1si2si3 Data 4 aprilie 2013 13:41:00
Problema Divk Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <fstream>

using namespace std;

ifstream in("divk.in");

ofstream out ("divk.out");

int N,A,B,b,k,i,v[500100],d[500100],a[100100],f=1;

long long s;

int main()

{

in>>N>>k>>A>>B;

for(i=1;i<=N;i++)

{

in>>v[i];

v[i]=(v[i-1]+v[i]%k)%k;

}
for( i=0;i<=N-A;++i)

    {

        ++b;

        d[b]=i;

        ++a[v[d[b]]];

        if(d[f]<i+A-B)

        {

            --a[v[d[f]]];

            ++f;

        }

        s=s+a[v[i+A]];

    }

    out<<s<<'\n';

return 0;
}