Pagini recente » Cod sursa (job #873692) | Cod sursa (job #853192) | Cod sursa (job #1312543) | Cod sursa (job #695727) | Cod sursa (job #1657909)
#include <fstream>
using namespace std;
int D[1<<19];
int t, i, j, v[19], g, n;
int main () {
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
for (int t = 1; t<=3; t++) {
fin>>n>>g;
for (i=0;i<n;i++)
fin>>v[i];
for (i=1;i<= (1<<n)-1; i++ ) {
long long s = 0;
for (j=0;j<n;j++) {
if ((i>>j)&1)
s += v[j];
}
if (s <= g)
D[i] = 1;
else {
D[i] = 20;
j = (i&(i-1));
while (j > 0) {
if (D[i] > D[j] + D[i^j])
D[i] = D[j] + D[i^j];
j=((j-1)&i);
}
}
}
fout<<D[(1<<n)-1]<<"\n";
}
return 0;
}