Cod sursa(job #2720503)

Utilizator PatrickCplusplusPatrick Kristian Ondreovici PatrickCplusplus Data 10 martie 2021 21:49:05
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>

using namespace std;

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

const int nmax = 1005;
int n, v[nmax];
bool viz[50005];

int main(){
    fin >> n;
    for (int i = 1; i <= n; ++i){
        fin >> v[i];
    }
    sort(v + 1, v + n + 1);
    viz[0] = true;
    vector <int> ans;
    for (int i = 1; i <= n; ++i){
        if (viz[v[i]] == false){
            ans.push_back(v[i]);
            for (int j = 0; j <= 50000 - v[i]; ++j){
                if (viz[j] == true){
                    viz[j + v[i]] = true;
                 }
            }
        }
    }
    fout << ans.size() << "\n";
    for (auto it : ans){
        fout << it << "\n";
    }
    fin.close();
    fout.close();
    return 0;
}