Cod sursa(job #2233757)

Utilizator Constantin.Dragancea Constantin Constantin. Data 24 august 2018 13:38:37
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;

int n, a[1010];
bool u[50010];
vector <int> sol;

int main(){
    ifstream cin ("economie.in");
    ofstream cout ("economie.out");
    cin >> n;
    for (int i=1; i<=n; i++) cin >> a[i];
    sort(a+1, a+1+n); u[0] = 1;
    for (int i=1; i<=n; i++){
        if (!u[a[i]]){
            sol.push_back(a[i]);
            for (int j=a[i]; j<=50000; j++)
                if (u[j - a[i]]) u[j] = 1;
        }
    }
    cout << sol.size() << "\n";
    for (auto it: sol) cout << it << " ";
    return 0;
}