Pagini recente » Cod sursa (job #1719791) | Cod sursa (job #264950) | Cod sursa (job #1039881) | Cod sursa (job #1054159) | Cod sursa (job #636335)
Cod sursa(job #636335)
#include<cstdio>
using namespace std;
long n,d,k,i;
long a[1000001];
long c[1000001];
void read () {
scanf("%ld%ld%ld",&d,&n,&k);
for ( long i=1;i<=n;i++)
scanf("%ld",&a[i]);
}
void rez() {
long i,rasengan,min=d,rasengan2,min_rasengan2,j;
for (i=1;i<=n;i++) {
rasengan=c[i-1]+1;
min_rasengan2=2000000000;
for (j=i-1;j>=1;j--)
if (a[i]-a[j]+1<=d) {
rasengan2=c[j-1]+k;
if (rasengan2<min_rasengan2)
min_rasengan2=rasengan2;
}
else
break;
if (rasengan<min_rasengan2)
c[i]=rasengan;
else
c[i]=min_rasengan2;
}
printf("%ld\n",c[n]);
}
int main () {
freopen("zombie.in","r",stdin);
freopen("zombie.out","w",stdout);
read();
rez();
return 0;
}