Pagini recente » Cod sursa (job #2258916) | Cod sursa (job #1400059) | Cod sursa (job #2559456) | Cod sursa (job #643910) | Cod sursa (job #1196911)
#include<fstream>
using namespace std;
ifstream f("zebughil.in");
ofstream g("zebughil.out");
int i,j,n,gr,conf,put,d[1<<18],a[20];
int main()
{
for(int t=3;t;--t)
{
f>>n>>gr;
for(i=1;i<=n;++i)
f>>a[i];
put=(1<<n);
for(conf=0;conf<put;++conf)
d[conf]=-1;
d[0]=gr;
for(i=1;i<=n;++i)
{
for(conf=0;conf<put;++conf)
{
if(d[conf]!=-1)
{
d[conf]=gr;
}
for(j=1;j<=n;++j)
if(conf&&(1<<(j-1))&&d[conf^(1<<(j-1))]-a[j]>d[conf])
d[conf]=d[conf^(1<<(j-1))]-a[j];
}
if(d[put-1]!=-1)
{
g<<i<<'\n';
break;
}
}
}
return 0;
}