Cod sursa(job #636538)

Utilizator ruxysimionRuxandra Simion ruxysimion Data 19 noiembrie 2011 21:06:13
Problema Zombie Scor 0
Compilator cpp Status done
Runda .com 2011 Marime 0.84 kb
#include<iostream>
#include<cstdio>
#include<fstream>
using namespace std;
int v[1000000+5];
int main()
{
    int d,n,k,x=0,t=0,nr=1,sol=0;
    freopen("zombie.in","rt",stdin);
    freopen("zombie.out","wt",stdout);

//    cin>>d>>n>>k;
    scanf("%d %d %d",&d,&n,&k);
    if(n==1)
    {
//        cout<<"1\n";
        printf("%d\n",sol);
        return 0;
    }
//    cerr<<k;
    for(int i=0;i<n;++i)
        scanf("%d",&v[i]);
    for(int i=1;i<n;++i)
    {
        t+=v[i]-v[i-1];
        if(t>=d)
        {
            if(nr<k)
                sol++,t-=v[x+1]-v[x],x++;//+1?
            else
                sol+=k,nr=0,t=0,x=i+1;
        }
        else
            nr++,cerr<<"nr="<<nr<<'\n';
    }
    //cerr<<nr<<'\n';
    if(nr>0) {if(nr<k) sol+=nr; else sol+=k;}

//    cout<<sol<<'\n';
    printf("%d\n",sol);
    //cerr<<sol<<'\n';

    return 0;
}