Cod sursa(job #3146946)

Utilizator SSKMFSS KMF SSKMF Data 23 august 2023 14:58:48
Problema Economie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
using namespace std;

ifstream cin ("economie.in");
ofstream cout ("economie.out");

bool posibil[50001];
int pastrate[1001];

int main ()
{
    int lungime;
    cin >> lungime;

    posibil[0] = true;
    for (int indice = 1 , valoare ; indice <= lungime ; indice++)
    {
        cin >> valoare;

        if (!posibil[valoare])
        {
            pastrate[++pastrate[0]] = valoare;
            for (int suma = valoare ; suma <= 50000 ; suma++)
                posibil[suma] = (posibil[suma] || posibil[suma - valoare]);
        }
    }

    cout << pastrate[0] << '\n';
    for (int indice = 1 ; indice <= pastrate[0] ; indice++)
        cout << pastrate[indice] << '\n';
        
    cout.close(); cin.close();
    return 0;
}