Pagini recente » Cod sursa (job #2761186) | Cod sursa (job #116383) | Cod sursa (job #2581023) | Cod sursa (job #921001) | Cod sursa (job #2973561)
#include <fstream>
using namespace std;
const int NMAX = 1000000;
int v[NMAX + 1], dp[NMAX + 1], poz[NMAX + 1];
int main(){
ifstream in("zombie.in");
ofstream out("zombie.out");
int d, n, k, p;
in >> d >> n >> k;
for( int i = 1 ; i <= n ; i++ )
in >> v[i];
p = 1;
for( int i = 1 ; i <= n ; i++ ){
while( v[p] + d < v[i] )
p++;
poz[i] = p;
}
dp[1] = 1;
for( int i = 2 ; i <= n ; i++ )
dp[i] = min (dp[i - 1] + 1, dp[poz[i] - 1] + k);
out << dp[n];
return 0;
}