Pagini recente » Cod sursa (job #1229005) | Cod sursa (job #2070743) | Cod sursa (job #864414) | Cod sursa (job #1348093) | Cod sursa (job #633568)
Cod sursa(job #633568)
#include<cstdio>
#include<algorithm>
const int maxN=10005;
const int INF=10000005;
int min(int a,int b)
{
if(a<b)
return a;
return b;
}
int n,e,mx,sol,a[51],d[51][maxN];
int main()
{
freopen("stalpi.in","r",stdin);
freopen("stalpi.out","w",stdout);
scanf("%d%d",&n,&e);
int i,j,k,l;
for(i=2;i<=n;++i)
scanf("%d",&a[i]);
mx=a[n]; sol=0;
for(i=1;i<=mx;++i)
{
for(j=1;j<=n;++j)
for(k=1;k<=n;++k)
d[j][k]=0;
for(j=1;j<=n;++j)
for(k=1;k<=mx;++k)
d[j][k]=INF;
d[1][0]=0;
for(j=2;j<=n-1;++j)
for(k=0;k<=mx;++k)
for(l=k;l>=0 && l>=k-i;--l)
d[j][k]=min(d[j][k],d[j-1][l]+abs(k-a[j]));
for(j=mx;j>=1 && mx-j<=i;--j)
if(d[n-1][j]<=e)
{
sol=i; break;
}
if(sol!=0)
break;
}
printf("%d\n",sol);
return 0;
}