Cod sursa(job #910707)

Utilizator misinozzz zzz misino Data 10 martie 2013 23:03:48
Problema Zebughil Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream f("zebughil.in");
ofstream g("zebughil.out");
int t,i,j,gr,k,n,n1,a[20],d[1000000];
int main()
{
    for(t=1;t<=3;++t)
    {
        f>>n>>gr;
        for(i=1;i<=n;++i)
        f>>a[i];
        n1=1<<n;
        for(i=0;i<n1;++i)
        {
            d[i]=-1;
        }
        d[0]=gr;
        for(i=1;i<=n;++i)
        {
            for(j=0;j<n1;++j)
            {
                if(d[j]!=-1)
                d[j]=gr;
                for(k=1;k<=n;++k)
                if(j&(1<<(k-1))&&d[j-(1<<(k-1))]-a[k]>d[j])
                d[j]=d[j-(1<<(k-1))]-a[k];
            }
            if(d[n1-1]>-1)
            {
                g<<i<<'\n';
                break;
            }
        }
    }
    return 0;
}