Pagini recente » Cod sursa (job #2150856) | Cod sursa (job #2750045) | Cod sursa (job #2803318) | Cod sursa (job #371071) | Cod sursa (job #635843)
Cod sursa(job #635843)
#include<stdio.h>
#define NMAX 1000010
#define inf 0x3f3f3f3f
int A[NMAX],S[NMAX];
inline int min( const int a, const int b )
{
return a<b?a:b;
}
inline int max( const int a, const int b )
{
return a>b?a:b;
}
int main()
{
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
int D,N,K;
scanf("%d%d%d",&D,&N,&K);
int i;
for(i=1; i<=N; ++i)
scanf("%d",&A[i]),S[i]=inf;
int p=1,val;
for(i=1; i<=N; ++i)
{
val=A[i];
S[i]=min(S[i],S[i-1]+1);
p=max(p,i+K);
while( A[p]-val <= D && p<=N )
S[p++]=S[i-1]+K;
}
printf("%d\n",S[N]);
return 0;
}