Cod sursa(job #1343537)

Utilizator iulianrotaruRotaru Gheorghe-Iulian iulianrotaru Data 15 februarie 2015 16:26:05
Problema Zebughil Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<fstream>
using namespace std;
ifstream in("zebughil.in"); ofstream out("zebughil.out");
int n,G,g[17],b[131073];
int main()
{   int i,conf,t=3;
    while(t--)
    {   in>>n>>G;
        for(i=0;i<n;i++) in>>g[i];
        int m=(1<<n);
        for(conf=1;conf<m;conf++) b[conf]=-1;
        b[0]=G;
        for(int nrc=1;nrc<=n;)
        {   for(conf=1;conf<m;conf++)
                if(b[conf]>=0) b[conf]=G;
                else
                {   for(i=0;i<n;i++)
                        if(conf&(1<<i)) b[conf]=max(b[conf],b[conf-(1<<i)]-g[i]);
                }
            if(b[m-1]>=0) {out<<nrc<<"\n"; nrc=n+1;}
            else nrc++;
        }
    }
    out.close();
    return 0;
}