Nu aveti permisiuni pentru a descarca fisierul grader_test64.ok
Cod sursa(job #2717480)
| Utilizator | Data | 7 martie 2021 15:00:20 | |
|---|---|---|---|
| Problema | Zebughil | Scor | 60 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.95 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int dp[(1 << 17) + 5], v[20];
int main()
{
int t = 3;
while(t--)
{
int n, g;
fin >> n >> g;
for(int i = 1; i <= n; ++i)
fin >> v[i];
for(int msk = 1; msk < (1 << n); ++msk)
{
dp[msk] = (1 << 26);
for(int submask = msk; submask; submask = (submask - 1) & msk)
{
long long sum = 0;
for(int j = 0; j < n; ++j)
if((1 << j) & submask)
{
sum += v[j + 1];
if(sum > g)
break;
}
if(sum <= g)
dp[msk] = min(dp[msk], dp[msk ^ submask] + 1);
}
}
fout << dp[(1 << n) - 1] << '\n';
}
return 0;
}
