Cod sursa(job #2765372)

Utilizator nubnubMeh Neh nubnub Data 26 iulie 2021 17:15:41
Problema Zombie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
using namespace std;
#include<iostream>
#include<fstream>
int D,N,K,a[1000010];

ofstream fout("zombie.out");

int no(int sf,int beg)
{
    return sf-beg+1;
}

void cit()
{
    int s,f,c;
    ifstream fin("zombie.in");
    fin>>D>>N>>K;
    int i;
    for(i=1;i<=N;i++)
    {
        fin>>a[i];
        //cout<<a[i]<<" ";
    }
//cout<<"\n";
    s=1;
    f=1;
    c=0;
    for(s=1,f=1;s<=N;)
    {
        if(a[f]-a[s]<=D)
        {
            if(f==N)
            {
               // cout<<"omoara: "<<s<<","<<f<<"la final\n";
                c+=min(K,no(f,s));
                s=N+1;
            }
            else
            f++;

        }
        else
        {
            if(no(f-1,s)>=K)
            {
                //cout<<"omoara: "<<s<<","<<f<<"\n";
                c+=K;
                s=f;
            }
            else
            {
                //cout<<"omoara: "<<s<<"\n";
                s++;
                c++;
            }
        }
        if(f>N)
          return;
    }
    fout<<c<<"\n";
    fin.close();
}

int main()
{
    cit();

    fout.close();
    return 0;
}