Cod sursa(job #2849498)

Utilizator Mihai7218Bratu Mihai-Alexandru Mihai7218 Data 15 februarie 2022 11:34:53
Problema Ghiozdan Scor 48
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;
ifstream fin("ghiozdan.in");
ofstream fout("ghiozdan.out");
vector <int> out; map <int, int> m;
int n, g, i, j, gr[20001], d[75001], poz[75001];
int main()
{
    fin >> n >> g;
    for (i = 1; i <= n; i++)
    {
        fin >> gr[i];
    }
    for (i = 1; i <= g; i++)
        d[i] = 1e8;
    for (i = 1; i <= n; i++)
    {
        int ok = 1;
        for (j = g; j >= gr[i]; j--)
        {
            if (d[j] > d[j-gr[i]]+1)
            {
                d[j] = d[j-gr[i]]+1;
            }
        }
    }
    for (i = g; i > 0; i--)
    {
        if (d[i] != 1e8)
        {
            fout << i << " " << d[i] << "\n";
            break;
        }
    }
//    while (i > 0)
//    {
//        j = i;
//        i = poz[i];
//        out.push_back(j-i);
//    }
//    sort (out.begin(), out.end());
//    for (i = 0; i < out.size(); i++)
//    {
//        fout << out[i] << "\n";
//    }
    return 0;
}