Cod sursa(job #1690476)

Utilizator rocandu16Badulescu Dan Andrei rocandu16 Data 15 aprilie 2016 09:28:32
Problema Divk Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <cstdio>
#define MAX 100001
using namespace std;
struct car
{
    bool car;
    int poz;
} carct[MAX];
int rsp;
int main()
{
    FILE *fin,*fout;
    fin=fopen("divk.in","r");
    fout=fopen("divk.out","w");
    int n,x,s=0,k,a,b;
    fscanf(fin,"%d%d%d%d",&n,&k,&a,&b);
    for(int i=1; i<=n; i++)
    {
        fscanf(fin,"%d",&x);
        s+=x;
        if(s%k==0)
        {
            if(i>=a && i<=b)
                    rsp++;

        }
        if(carct[s%k].car!= false)
        {
            //if(i-carct[s%k].poz+2>=a && i-carct[s%k].poz+2<=b)
                rsp++;

        }
        else
        {
            carct[s%k].car=true;
            carct[s%k].poz=i;
        }
    }


    fprintf(fout,"%d",rsp);
    return 0;
}