Cod sursa(job #638626)
| Utilizator | Data | 21 noiembrie 2011 09:56:43 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.85 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("zombie.in");
ofstream out("zombie.out");
int x[1000100];
int main()
{
int d,n,k,t,nr,i,ch=0;
in>>d>>n>>k;
t=0;
nr=0;
for(i=1;i<=n;++i)
{
in>>x[i];
if(t==0)
{
t=x[i]+d-1;
nr=1;
continue;
}
if(t>=x[i])
{
++nr;
continue;
}
if(k<nr)
{
ch+=k;
nr=1;
t=x[i]+d-1;
}
else
{
while(nr!=0 && t<x[i])
{
t=x[i-nr+1]+d-1;
nr--;
ch++;
}
nr++;
}
}
if(k<nr)
ch+=k;
else
ch+=nr;
out<<ch;
return 0;
}
