Pagini recente » Cod sursa (job #2843819) | preONI 2008 - Clasament Runda Finala, Clasa a 10-a | Cod sursa (job #2280913) | Cod sursa (job #2050544) | Cod sursa (job #2201863)
#include<fstream>
using namespace std;
ifstream fi("zebughil.in");
ofstream fo("zebughil.out");
int n,g,A[20],i,j,val,t;
pair<int,int> Dp[131075];
int main()
{
for(t=1; t<=3; t++)
{
fi>>n>>g;
for(i=1; i<=n; i++)
fi>>A[i];
for(i=1; i<(1<<n); i++)
Dp[i]={1000000000,0};
for(i=0; i<(1<<n); i++)
for(j=0; j<n; j++)
if(!(i&(1<<j)))
{
val=i+(1<<j);
if(g-Dp[i].second>=A[j+1])
Dp[val]=min(Dp[val],{Dp[i].first,Dp[i].second+A[j+1]});
else
Dp[val]=min(Dp[val],{Dp[i].first+1,A[j+1]});
}
if(Dp[(1<<n)-1].second>0)
fo<<Dp[(1<<n)-1].first+1<<"\n";
else
fo<<Dp[(1<<n)-1].first<<"\n";
}
fi.close();
fo.close();
return 0;
}