Pagini recente » Cod sursa (job #2982544) | Cod sursa (job #2481751) | Cod sursa (job #153841) | Cod sursa (job #1332004) | Cod sursa (job #645068)
Cod sursa(job #645068)
#include <stdio.h>
#include <fstream>
#define FI fopen("zombie.in","r")
#define FO fopen("zombie.out","w")
#define min(a,b) (a<b?a:b)
using namespace std;
long int N,D,K,zombie[1000010],vec[1000010],rez[1000010];
void cit (/*FILE *f=stdin*/) {
ifstream f("zombie.in");
int i,j=0,t;
//fscanf(f,"%li%li%li",&D,&N,&K);
f>>D>>N>>K;
for(i=0;i<N;++i) {
//fscanf(f,"%li",&zombie[i]);
f>>zombie[i];
while(zombie[j]<zombie[i]-D)
++j;
for(t=j;t<=i;++t) {
++vec[t];
}
}
}
int main(){
long i;
ofstream f("zombie.out");
cit(/*FI*/);
for(i=N-1;i>=0;--i)
rez[i]=min(rez[i+1]+1,rez[i+vec[i]]+K);
//fprintf(FO,"%li",rez[0]);
f<<rez[0];
return 0;
}