Cod sursa(job #1009341)

Utilizator RaduGabriel2012Dinu Radu RaduGabriel2012 Data 12 octombrie 2013 21:47:49
Problema Zebughil Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <fstream>
#define one(x) (x&(x-1))^x
using namespace std;
ifstream fin("zebughil.in");
ofstream fout("zebughil.out");
int sol[1<<16],sum[1<<16],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;

       for(j=n-1;j>=0;j--) fin>>sol[1<<j];

       Solve();
    }
    return 0;
}