Pagini recente » Cod sursa (job #1397661) | Cod sursa (job #2464030) | Cod sursa (job #1179373) | clasament-arhiva-educationala | Cod sursa (job #636793)
Cod sursa(job #636793)
#include <fstream>
#include <iostream>
using namespace std;
const int nmax = 1000010;
int A[nmax], B[nmax];
int bin(int v)
{
int i, x = 0;
for(i = 1; A[i] <= v; i <<= 1);
for(i >>= 1; i > 0; i >>= 1)
if(A[i + x] <= v)
x += i;
return x;
}
int main()
{
ifstream in ("zombie.in");
ofstream out("zombie.out");
int D, N, K, i, ind;
in >> D >> N >> K;
for(i = 1; i <= N; i++)
in >> A[i];
B[1] = 1;
for(i = 2; i <= N; i++)
{
B[i] = B[i - 1] + 1;
ind = bin(A[i] - D);
if(B[i] > B[ind] + K)
B[i] = B[ind] + K;
}
out << B[N];
return 0;
}