Cod sursa(job #2875685)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 22 martie 2022 10:06:27
Problema Economie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
#define MAXN 1000
#define MAXV 50000

using namespace std;

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

int n, arr[MAXN];
bitset<MAXV + 1> fr;
int main() {
    fin >> n;
    for (int i = 0; i < n; i++)
        fin >> arr[i];
    sort(arr, arr + n);
    int maxi = arr[n - 1];
    c[0] = 1;
    vector<int> nrs;
    for (int i = 0; i < n; i++) {
        if (fr[arr[i]])
            continue;
        nrs.push_back(arr[i]);
        for (int j = 0; arr[i] + j <= maxi; j++)
            if (fr[j])
                fr[arr[i] + j] = 1;
    }

    fout << nrs.size() << '\n';
    for (auto &nr: nrs)
        fout << nr << ' ';
    return 0;
}