Pagini recente » Cod sursa (job #2560190) | Cod sursa (job #2585151) | Cod sursa (job #2302052) | Cod sursa (job #508437) | Cod sursa (job #490283)
Cod sursa(job #490283)
#include <cstdio>
#define lmax 131100
int n, g, v[20], a[lmax], b[lmax];
int main()
{
freopen("zebughil.in","r",stdin);
freopen("zebughil.out","w",stdout);
int i, p, sa, sb, ca, cb, x, t=3;
while (t--)
{
scanf("%d %d",&n,&g);
for (i=0; i<n; i++) scanf("%d",&v[i]);
for (p=1; p<(1<<n); p++)
{
sa=20;
sb=0;
for (i=0; i<n; i++)
if (p == (p|(1<<i)))
{
x=p^(1<<i);
if (b[x]>=v[i])
{
cb=b[x]-v[i];
ca=a[x];
} else
{
cb=g-v[i];
ca=a[x]+1;
}
if (ca<sa)
{
sa=ca;
sb=cb;
} else
if (ca==sa && cb>sb) sb=cb;
}
a[p]=sa;
b[p]=sb;
}
printf("%d\n",a[(1<<n)-1]);
}
}