Cod sursa(job #3285219)

Utilizator staicumateiStaicu Matei Octavian staicumatei Data 12 martie 2025 16:58:24
Problema Zebughil Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <bits/stdc++.h>

using namespace std;

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

const int nr=17;

int r,afis,n,p,x;
int v[18];

pair<int,int> best[1<<nr];

int main()
{
    int minim[18];
    for(int r=1; r<=3; r++)
    {
        fin>>n>>x;
        for(int i=1; i<=n; i++)
            minim[i]=9999999;
        for(int i=0; i<n; i++)
        {
            fin>>v[i];
        }
        best[0]={1,0};
        for(int i=1; i<(1<<n); i++)
        {
            best[i]={n+1,0};
            for(int p=0; p<n; p++)
            {
                if(i&(1<<p))
                {
                    auto nr=best[i^(1<<p)];
                    if(nr.second+v[p]<=x)
                    {
                        nr.second=nr.second+v[p];
                    }
                    else
                    {
                        nr.first++;
                        nr.second=v[p];
                    }
                    best[i]=min(best[i],nr);
                }
            }
        }
        fout<<best[(1<<n)-1].first<<endl;
    }
    return 0;
}