Pagini recente » Cod sursa (job #1093661) | Cod sursa (job #1082468) | Cod sursa (job #1217882) | Cod sursa (job #1415771) | Cod sursa (job #377804)
Cod sursa(job #377804)
#include <iostream>
#include <fstream>
using namespace std;
int main() {
fstream f1, f2;
int semn[18], e[100000], b[100000], p[100000], n, g, i, j, q, m, k;
f1.open("zebughil.in", ios::in);
f2.open("zebughil.out", ios::out);
for(k=1; k<=3; k++) {
f1>>n>>g;
for(i=1; i<=n; i++) {
f1>>e[i];
b[1<<(i-1)]=g-e[i];
p[1<<(i-1)]=1;
}
for(i=1; i<=(1<<n)-1; i++) {
q=i;
for(j=1; j<=n; j++) {
semn[j]=q%2; q=q/2;
}
for(j=1; j<=n; j++) {
//semn[j]==0
if(semn[j]==0) {
if(b[i]>=e[j]) {
b[i+(1<<(j-1))]=min(b[i], g-e[j]);
p[i+(1<<(j-1))]=p[i];
}
else {
b[i+(1<<(j-1))]=min(b[i], e[j]);
p[i+(1<<(j-1))]=p[i]+1;
}
}
}
}
f2<<p[(1<<n)-1]<<endl;
}
f1.close(); f2.close();
return 0;
}