Cod sursa(job #1573547)

Utilizator tqmiSzasz Tamas tqmi Data 19 ianuarie 2016 19:36:15
Problema Divk Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <cstdio>
using namespace std;
//ifstream fin("divk.in");
ofstream fout("divk.out");
FILE *fin;
int N,K,A,B,sp[500005],i,j;
long long sol;

void read()
{
    //fin>>N>>K>>A>>B;
    fscanf(fin,"%d %d %d %d",&N,&K,&A,&B);
    for(i=1;i<=N;i++)
    {
        int x;
        //fin>>x;
        fscanf(fin,"%d",&x);
        sp[i]=(sp[i-1]+x)%K;
    }
}

void solve()
{
    for(i=1;i<=N-A+1;i++)
    {
        for(j=i+A-1;j<=i+B-1 && j<=N;j++)
        {
            if(sp[j]-sp[i-1]==0){sol++;}
        }
    }
}

void print()
{
    fout<<sol<<"\n";
}
int main()
{
    fin=fopen("divk.in","r");
    read();
    solve();
    print();
    return 0;
}