Cod sursa(job #3163836)

Utilizator Vlad_NistorNIstor Vlad Vlad_Nistor Data 1 noiembrie 2023 12:33:26
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;

int a[10001], vf[500001];
int main(void){
    ofstream cout("economie.out");
    ifstream cin("economie.in");
    int n;
    cin >> n;
    for(int i = 1;i<=n;i++){
        cin >> a[i];
    }
    vector<int> ans;
    vf[0] = 1;
    sort(a+1,a+n+1);
    for(int i = 1;i<=n;i++){
        if(vf[a[i]] == 0){
            ans.push_back(a[i]);
            for(int j = 0;j+a[i]<=a[n];j++){
                if(vf[j] == 1){
                    vf[j + a[i]] = 1;
                }
            }
        }
    }
    cout << ans.size() << '\n';
    for(auto x: ans)cout << x << ' ';
}