Cod sursa(job #1989276)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 6 iunie 2017 18:30:31
Problema Zebughil Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <utility>
#include <fstream>

#define x first;
#define y second;

using namespace std;

const int NMAX=17;

ifstream fin("zebughil.in");
ofstream fout("zebughil.out");

int N,G,g[NMAX+3];/// NMAX+3;

pair<int, int> d[(1 << NMAX) + 4];

void rezolv()
{
    fin >> N >> G;
    for(int i=0;i<N;++i)
        fin >> g[i];
    for(int j=1;j<(1 << N);++j)
    {
        d[j]={NMAX,0};
          for(int i=0;i<N;++i)
             if(j >> i & 1)
            {
                int p = j ^ 1 << i;
                if(d[p].y + g[i] <= 0){
                    d[j]=min(d[j],{d[p].x,d[p].y+g[i]});
                } else {
                    f[j]=min(d[j],{d[p].x+1,-G+g[i]});
                }
            }
    }
    fout << d[(1<<N)-1].x << '/n';
}

int main()
{
    int T=3;
    while(T--)
    {
        rezolv();
    }
    return 0;
}