Cod sursa(job #3349008)

Utilizator Gabriel_DaescuDaescu Gabriel Florin Gabriel_Daescu Data 24 martie 2026 22:49:02
Problema Ghiozdan Scor 54
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#define NMAX 20005
#define GMAX 75005
#define INF (1<<30)
using namespace std;
ifstream  fin("ghiozdan.in");
ofstream fout("ghiozdan.out");
int N,G,v[NMAX],dp[GMAX];

void citire()
{
    fin>>N>>G;

    for(int i=1; i<=N; i++)
    {
        fin>>v[i];
    }
}

int main()
{
    citire();

    for(int i=0; i<=GMAX; i++)
    {
        dp[i]=INF;
    }

    dp[0]=0;
    for(int i=1; i<=N; i++)
    {
        for(int j=G-v[i]; j>=0; j--)
        {
            if(dp[j]!=INF)
            {
                dp[j+v[i]]=min(dp[j+v[i]],dp[j]+1);
            }
        }
    }

    int g=G;
    for(int i=G; i>=1; i--)
    {
        if(dp[i]!=INF)
        {
            g=i;
            break;
        }
    }

    fout<< g << " " << dp[g] << "\n";

    return 0;
}