Cod sursa(job #3164538)

Utilizator mihaistamatescuMihai Stamatescu mihaistamatescu Data 3 noiembrie 2023 15:58:02
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <algorithm>

using namespace std;

int v[1010],D[50010],sol[1010];;
int n, k;

int main() {
    ifstream fin("economie.in");
    ofstream fout("economie.out");
    fin >> n;
    for (int i = 1; i <= n; i++) {
        fin >> v[i];
    }
    sort(v + 1, v + n + 1);
    D[0] = 1;
    for (int i = 1; i <= n; i++) {
        if (D[v[i]] == 0) {
            sol[++k] = v[i];
            for (int j = 0; j + v[i] <= v[n]; j++) {
                if (D[j] == 1) {
                    D[j + v[i]] = 1;
                }
            }
        }
    }
    fout << k << "\n";
    for (int i = 1; i <= k; i++) {
        fout << sol[i] << "\n";
    }
    return 0;
}