Cod sursa(job #636608)
Utilizator | Lupse-Turpan Mircea mlupse | Data | 19 noiembrie 2011 21:45:47 |
---|---|---|---|
Problema | Zombie | Scor | 0 |
Compilator | cpp | Status | done |
Runda | .com 2011 | Marime | 0.48 kb |
using namespace std;
#include <fstream>
ifstream fin("zombie.in");
ofstream fout("zombie.out");
int n,d,k,x[1000005],c[1000005],start;
int main()
{
int i,sk;
fin>>d>>n>>k;
for(i=1;i<=n;i++)
fin>>x[i];
for(i=1;i<=k;i++)
c[i]=i;
sk=x[k]-x[1]+1;start=1;
for(i=k+1;i<=n;i++)
if(sk+x[i]-x[i-1]>=d)
{
sk=x[i]-x[i-k+1]+1;
c[i]=c[i-1]+1;
start=i;
}
else
{
sk=sk+x[i]-x[i-1];
c[i]=c[start];
}
fout<<c[n]<<"\n";
return 0;
}