Pagini recente » Cod sursa (job #3176163) | Cod sursa (job #1906747) | Cod sursa (job #1610194) | Cod sursa (job #3120677) | Cod sursa (job #3285219)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
const int nr=17;
int r,afis,n,p,x;
int v[18];
pair<int,int> best[1<<nr];
int main()
{
int minim[18];
for(int r=1; r<=3; r++)
{
fin>>n>>x;
for(int i=1; i<=n; i++)
minim[i]=9999999;
for(int i=0; i<n; i++)
{
fin>>v[i];
}
best[0]={1,0};
for(int i=1; i<(1<<n); i++)
{
best[i]={n+1,0};
for(int p=0; p<n; p++)
{
if(i&(1<<p))
{
auto nr=best[i^(1<<p)];
if(nr.second+v[p]<=x)
{
nr.second=nr.second+v[p];
}
else
{
nr.first++;
nr.second=v[p];
}
best[i]=min(best[i],nr);
}
}
}
fout<<best[(1<<n)-1].first<<endl;
}
return 0;
}