Cod sursa(job #1141497)

Utilizator georgeliviuPereteanu George georgeliviu Data 12 martie 2014 22:02:14
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <fstream>

using namespace std;

long long v[500005] , w[150000];

int main()
{
    ifstream f("divk.in");
    ofstream g("divk.out");
    int n,k,a,b,x,nr=0,i;
    unsigned long int c;
    f>>n>>k>>a>>b;
    v[0]=0;
    for(i=1;i<=n;i++)
    {
        f>>x;
        c=c+x%k;
        if(c%k==0 && i<=a) nr++;
        v[i]=(v[i-1]+x)%k;
    }
    for(i=1;i<=n;i++)
    {
        if(i>a) w[v[i-a]]+=1;
        if(i>b+1) w[v[i-b-1]]-=1;
        nr+=w[v[i]];
    }
    g<<nr;
}