Cod sursa(job #638314)

Utilizator costyv87Vlad Costin costyv87 Data 20 noiembrie 2011 20:13:19
Problema Zombie Scor 90
Compilator cpp Status done
Runda .com 2011 Marime 0.62 kb
#include <cstdio>
FILE *f,*g;
int v[1000100];
int a[1000100];
int n,k,d,mn,i,j;

inline int mnn(int x,int y) {
if (x>y) return y;
return x;
}

void caut(int i,int j,int x) {
int m;

if (i<=j) {
	m=(i+j)/2;
	if (a[m]>=x) {
		if (m<mn) mn=m;
		caut(i,m-1,x);
		}
	else
		caut(m+1,j,x);
	}

}

int main() {
f=fopen("zombie.in","r");
g=fopen("zombie.out","w");

fscanf(f,"%d%d%d",&d,&n,&k);

v[0]=0;

for (j=1,i=1;i<=n;i++) {
	fscanf(f,"%d",&a[i]);
	if (i<=k) {
		v[i]=i;
		continue;
		}
	while (a[j]+d-1<a[i]) j++;
	v[i]=mnn(v[j-1]+k,v[i-1]+1);
	}


fprintf(g,"%d",v[n]);
fclose(g);
return 0;
}