Pagini recente » Cod sursa (job #2006387) | Cod sursa (job #1245166) | Cod sursa (job #998091) | Cod sursa (job #2033546) | Cod sursa (job #1009344)
#include <iostream>
#include <fstream>
#include <cstring>
#define one(x) (x&(x-1))^x
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int sol[1<<17],sum[1<<17],n,g;
void Solve()
{ int i,j;
for(i=1;i<(1<<n);i++)
sum[i]=sum[i&(i-1)]+sol[one(i)];
for(i=1;i<(1<<n);i++)
sol[i]=sum[i]/g+(sum[i]%g>0);
for(i=1;i<(1<<n);i++)
for(j=i&(i-1);j>0;j=i&(j-1))
sol[i]=min(sol[i],sol[j]+sol[j^i]);
fout<<sol[(1<<n)-1]<<"\n";
}
int main()
{ int i,j;
for(i=1;i<=3;i++)
{ fin>>n>>g;
memset(sol,0,sizeof(sol));
memset(sum,0,sizeof(sum));
for(j=n-1;j>=0;j--) fin>>sol[1<<j];
Solve();
}
return 0;
}