Pagini recente » Cod sursa (job #1233185) | Cod sursa (job #1495234) | Cod sursa (job #2173893) | Cod sursa (job #1715721) | Cod sursa (job #638004)
Cod sursa(job #638004)
#include <cstdio>
#include <fstream>
#define MAXN 1000010
using namespace std;
long long sol;
int D, N, K, A[MAXN], dp[MAXN];
inline int min(int a, int b) {
if(a < b) return a;
return b;
}
int main() {
// freopen("zombie.in", "r", stdin);
// freopen("zombie.out", "w", stdout);
ifstream fin("zombie.in");
ofstream fout("zombie.out");
fin >> D >> N >> K;
for(int i = 1; i <= N; i++)
fin >> A[i];
dp[N] = 1;
int act, antact;
act = N;
for(int i = N - 1; i >= 1; i--) {
antact = act;
while(A[act] - A[i] > D) --act;
dp[i] = min(dp[antact] + K, dp[antact] + antact - act + 1);
}
fout << dp[1] << "\n";
return 0;
}