Pagini recente » Cod sursa (job #10378) | Cod sursa (job #2273388) | Cod sursa (job #567999) | Cod sursa (job #2726795) | Cod sursa (job #1475988)
#include <cstdio>
using namespace std;
int v[1000005];
int r[1000005];
int s[1000005];
int min(int a,int b)
{
if(a<b) return a;
return b;
}
int main()
{
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
int d,n,k,i,j;
scanf("%d%d%d",&d,&n,&k);
for(i=1;i<=n;i++)
{
scanf("%d",&v[i]);
}
v[n+1]=2000000000;
j=1;
i=1;
while(i<=n+1)
{
if(v[i]-v[j]<d)
{
i++;
}
else
{
r[j]=i-1;
j++;
}
}
for(i=n;i>=1;i--)
{
s[i]=min(s[i+1]+1,k+s[r[i]+1]);
}
printf("%d",s[1]);
return 0;
}