Pagini recente » Cod sursa (job #1725319) | Cod sursa (job #1528108) | Cod sursa (job #2199945) | Cod sursa (job #743997) | Cod sursa (job #2038804)
#include <bits/stdc++.h>
#define NMAX 30005
#define MOD 666013
#define INF 0x3f3f3f3f
#define x first
#define y second
#define pb push_back
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int dp[1<<18],v[20];
int main() {
int t=3,n,i,j,sum,g;
while(t--) {
fin>>n>>g;
for(i=0;i<n;++i) fin>>v[i];
for(i=1;i<(1<<n);++i) {
sum=0;
for(j=0;j<n;++j)
if(i&(1<<j)) sum+=v[j];
if(sum<=g) dp[i]=1;
else {
dp[i]=n;
for(j=i&(i-1);j>0;j=(j-1)&i)
dp[i]=min(dp[i], dp[j]+dp[i^j]);
}
}
fout<<dp[(1<<n)-1]<<'\n';
}
return 0;
}