Pagini recente » Cod sursa (job #3292537) | Cod sursa (job #867186) | Cod sursa (job #999360) | Cod sursa (job #1683811) | Cod sursa (job #1663452)
# include <bits/stdc++.h>
# define ll long long
using namespace std;
ifstream fi("zebughil.in");
ofstream fo("zebughil.out");
int dp[1 << 17];
int s[55];
int S[1 << 17];
int main(void)
{
int M = 1 << 17;
for (int t = 1;t <= 3;++t)
{
int n,g;
fi>>n>>g;
for (int i = 0;i < n;++i) fi>>s[i];
M = 1 << n;
for (int i = 0;i < M;++i) dp[i] = n;
dp[0] = 0;
memset(S,0,sizeof(S));
for (int it = 1;it < M;++it)
for (int i = 0;i < n;++i)
if ((it>>i)&1)
S[it] = min(1ll * S[it ^ (1 << i)] + s[i],1ll * g+1);
for (int it = 1;it < M;++it)
for (int mask = it;mask;mask = (mask - 1) & it)
if (S[mask] <= g) dp[it] = min(dp[it],dp[it ^ mask] + 1);
fo << dp[M - 1] << '\n';
}
return 0;
}