Cod sursa(job #1171838)
| Utilizator | Data | 16 aprilie 2014 14:20:01 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.52 kb |
#include <fstream>
#include <deque>
#include <algorithm>
using namespace std;
#define NMax 1000005
ifstream f("zombie.in");
ofstream g("zombie.out");
int d,n,k;
int v[NMax],D[NMax];
deque<int> dq;
int main()
{
int i,ls;
f>>d>>n>>k;
for(i=1;i<=n;i++) f>>v[i];
for(i=1;i<=n;i++)
{
dq.push_back(i);
while(v[i]-v[dq.front()]>=d) dq.pop_front();
D[i]=min(D[i-1]+1,D[dq.front()-1]+k);
}
g<<D[n]<<"\n";
f.close();
g.close();
return 0;
}
