Pagini recente » Cod sursa (job #894335) | Cod sursa (job #673712) | Cod sursa (job #2353491) | Cod sursa (job #1687526) | Cod sursa (job #639033)
Cod sursa(job #639033)
#include <fstream>
#include <algorithm>
#define min(a,b) ((a<b)?a:b)
using namespace std;
int x[1000001],up,i,d,n,k,u,D[1000001];
int main()
{
ifstream fi("zombie.in");
ofstream fo("zombie.out");
fi>>d>>n>>k;
for(i=1;i<=n;i++)
{
fi>>x[i];
up=max(x[i]-d+1,0);
u=upper_bound(x+1,x+i,up)-x;
if(u>1 and x[u-1]==up) u--;
D[i]=min(D[i-1]+1,D[u-1]+k);
}
fo<<D[n]<<"\n";
return 0;
}