Pagini recente » Cod sursa (job #2873466) | Cod sursa (job #429573) | Cod sursa (job #3185085) | Cod sursa (job #2926125) | Cod sursa (job #635320)
Cod sursa(job #635320)
#include <stdio.h>
#define NMax 1000010
const char IN[]="zombie.in",OUT[]="zombie.out";
int D,N,K;
int a[NMax];
int T[NMax];
inline int min(int x,int y){
return x<y ? x : y;
}
int main()
{
int i,j;
freopen(IN,"r",stdin);
scanf("%d%d%d",&D,&N,&K);
for (i=0;i<N;++i) scanf("%d",a+i);
fclose(stdin);
for (i=j=N-1;i>=0;--i)
{
while (j>i && a[i]+D-1<a[j]) --j;
T[i]= min( T[i+1] + 1 , K + T[j+1]);
}
for (i=0;i<N;++i) printf("%d ",T[i]);printf("\n");
freopen(OUT,"w",stdout);
printf("%d\n",T[0]);
fclose(stdout);
return 0;
}