Cod sursa(job #1141488)

Utilizator georgeliviuPereteanu George georgeliviu Data 12 martie 2014 21:57:50
Problema Divk Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 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;
    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]]=w[v[i-a]]+1;
        if(i>b+1) w[v[i-b-1]]=w[v[i-b-1]]-1;
        nr=nr+w[v[i]];
    }
    g<<nr;
}