Mai intai trebuie sa te autentifici.

Cod sursa(job #477875)

Utilizator freak93Adrian Budau freak93 Data 16 august 2010 14:54:04
Problema Zebughil Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>

using namespace std;

const char iname[]="zebughil.in";
const char oname[]="zebughil.out";
const int maxn=17;
const int maxv=(1<<maxn);

ifstream f(iname);
ofstream g(oname);

int dp[maxv],a[maxn],n,t,i,j,G,k;

int main()
{
    t=3;
    while(t--)
    {
        f>>n>>G;
        for(i=0;i<n;++i)
            f>>a[i];
        for(i=0;i<(1<<n);++i)
            dp[i]=-1;
        dp[0]=G;
        for(i=1;i<=n;++i)
        {
            for(j=0;j<(1<<n);++j)
            {
                if(dp[j]!=-1)
                    dp[j]=G;
                for(k=0;k<n;++k)
                    if(j&(1<<k)&&dp[j-(1<<k)]-a[k]>dp[j])
                        dp[j]=dp[j-(1<<k)]-a[k];
            }
            if(dp[(1<<n)-1]>=0)
                break;
        }
        g<<i<<"\n";
    }
}