Cod sursa(job #726622)
| Utilizator | Data | 27 martie 2012 12:53:37 | |
|---|---|---|---|
| Problema | Zombie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream>
#define NMAx 1000100
#define min(a,b) ((a)<(b)?(a):(b))
using namespace std;
int N,D,K,V[NMAx],DP[NMAx];
int main() {
int L,R;
ifstream in("zombie.in");
ofstream out("zombie.out");
in>>D>>N>>K;
for(L=R=1;R<=N;R++) {
in>>V[R];
while(V[R]-V[L]>D)
L++;
DP[R]=min(DP[R-1]+1,DP[L-1]+K);
}
out<<DP[N];
in.close();
out.close();
return 0;
}
