Cod sursa(job #2712508)

Utilizator MateiAruxandeiMateiStefan MateiAruxandei Data 25 februarie 2021 20:31:36
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

#define NMAX 1005
using namespace std;

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

int v[NMAX];
bool atins[50 * NMAX];
vector<int> rez;

int main()
{
    int n;
    fin >> n;

    for(int i = 1; i <= n; ++i)
        fin >> v[i];

    sort(v + 1, v + n + 1);

    for(int i = 1; i <= n; ++i)
        if(!atins[v[i]])
        {
            rez.push_back(v[i]);
            atins[v[i]] = 1;
            for(int j = 1; j + v[i] <= 50000; ++j)
                if(atins[j])
                    atins[j + v[i]] = 1;
        }

    fout << rez.size() << '\n';
    for(auto it: rez)
        fout << it << '\n';
    return 0;
}