Pagini recente » Cod sursa (job #1868109) | Cod sursa (job #1861201) | Cod sursa (job #2700267) | Cod sursa (job #861213) | Cod sursa (job #2333604)
#include <bits/stdc++.h>
using namespace std;
ifstream f("zebughil.in");
ofstream gi("zebughil.out");
int n,g,i,j,a[20],dyn[(1<<17)+10],lft[(1<<17)+10];
int main()
{
for(int t=1;t<=3;t++)
{
f>>n>>g;
for(i=1;i<=n;i++)
f>>a[i];
memset(dyn, 127,sizeof(dyn));
memset(lft,-128,sizeof(lft));
int x=(1<<n);
dyn[0]=lft[0]=0;
for(i=1;i<x;i++)
for(j=0;j<n;j++)
if(i&(1<<j))
{
int wher=i^(1<<j);
if(lft[wher]>=a[j+1])
if(dyn[i]>dyn[wher]||(dyn[i]==dyn[wher]&&lft[i]<lft[wher]-a[j+1]))
dyn[i]=dyn[wher],lft[i]=lft[wher]-a[j+1];
else;
else
if(dyn[i]>=dyn[wher]+1)
dyn[i]=dyn[wher]+1,lft[i]=g-a[j+1];
}
gi<<dyn[x-1]<<'\n';
}
return 0;
}