Cod sursa(job #650270)

Utilizator alexalbu95Albu Alexandru alexalbu95 Data 17 decembrie 2011 18:23:54
Problema Divk Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
const int nmax=500005;
int n, a, b, k, x, v[nmax], nr;

void read()
{
    int i;
    f>>n>>k>>a>>b;
    for(i=1; i<=n; ++i) f>>v[i];
}

void sum(int p, int lima, int limb)
{
    int s=0, i;

    for(i=p; i<=lima; ++i) s+=v[i];
    if(s%k==0) ++nr;
    //if(limb>n) return;
    for(; i<=limb && i<=n; ++i)
    {
        s+=v[i];
        if(s%k==0) ++nr;
    }
}
int main()
{
    read();
    int limax=n-a+1;
    for(x=1; x<=limax; ++x) sum(x, x+a-1, x+b-1);
    g<<nr;
    return 0;
}