Cod sursa(job #2731131)

Utilizator CiboAndreiAndrei Cibo CiboAndrei Data 27 martie 2021 12:57:45
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda simulare_oni_cex Marime 0.82 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("economie.in");
ofstream g("economie.out");
//ifstream f("date.in");
//ofstream g("date.out");
//#define f cin
//#define g cout

const int dim = 5e4 + 2;
const int mod = 1e9 + 7;

int n;
vector <int> ans, v(1003, 0);
bool a[dim];

void read(){
    f >> n;
    for(int i = 0; i < n; ++i)
        f >> v[i];
}

void solve(){
    v.resize(n);
    sort(v.begin(), v.end());
    a[0] = 1;

    for(int it: v){
        if(a[it])
            continue;

        ans.push_back(it);
        for(int i = 0; i + it <= dim; ++i)
            if(a[i])
                a[i + it] = 1;
    }

    g << ans.size() << '\n';
    for(int it: ans)
        g << it << '\n';
}

void restart(){

}

int main(){
    read();
    solve();

    return 0;
}