Cod sursa(job #2480038)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 24 octombrie 2019 19:53:11
Problema Zebughil Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("zebughil.in");
ofstream g("zebughil.out");

int n,minim,T,v[21],sol[21],nr;

int ok(int k)
{
    int i;
    for(i=1;i<k;i++)
        if(i==k)return 0;
    return 1;
}

void beck(int k,int suma_ant)
{
    int i;

    if(k==n+1)
    {
        minim=min(minim,nr);
    }
    else
    {
        for(i=1;i<=n;i++)
        {
            sol[k]=v[i];
            if(ok(k))
            {
                if(suma_ant+v[i]<=T)
                {
                    beck(k+1,suma_ant+v[i]);
                }
                else
                {
                    nr++;
                    beck(k+1,v[i]);
                    nr--;
                }

            }
        }
    }
}

int main()
{

    for(int pas=1;pas<=3;pas++)
    {
        f>>n>>T;
        for(int i=1;i<=n;i++)f>>v[i];

        minim=INT_MAX;
        nr=1;
        beck(0,0);

        g<<minim<<'\n';
    }
    return 0;
}