Cod sursa(job #759765)
| Utilizator | Data | 19 iunie 2012 09:21:15 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.41 kb |
#include <fstream>
using namespace std;
ifstream in("zombie.in");
ofstream out("zombie.out");
const int N=1000005;
int v[N],c[N];
int main()
{
int d,n,k,i,st,dr;
in>>d>>n>>k;
for(i=1;i<=n;i++)
in>>v[i];
st=dr=1;
while(dr<=n)
{
while(v[dr]-v[st]>d)
st++;
if(c[st-1]+k<c[dr-1]+1)
c[dr]=c[st-1]+k;
else
c[dr]=c[dr-1]+1;
dr++;
}
out<<c[n];
return 0;
}