Cod sursa(job #639033)

Utilizator dicu_dariaDaria Dicu dicu_daria Data 22 noiembrie 2011 10:43:57
Problema Zombie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#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;
}