Cod sursa(job #2575783)

Utilizator maria.tantosMaria Iuliana Tantos maria.tantos Data 6 martie 2020 15:23:59
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("economie.in");
ofstream g("economie.out");

bool c[50001];
int m[1001], n, v1[1001];

int main()
{
    int maxim = 0, k = 0;
    f>>n;
    for(int i = 1; i <= n; i++)
    {
        f>>m[i];
        if(m[i]>maxim)
            maxim = m[i];
    }
    c[0]=1;
    sort(m+1, m+n+1);
    for(int j = 1; j <= n; j++)
        if(!c[m[j]])
        {
            v1[++k]=m[j];
            for(int i=0; i <= maxim-m[j]; i++)
                if(c[i])
                    c[i+m[j]]=1;
        }
    g<<k<<'\n';
    for(int i = 1; i <= k; i++)
        g<<v1[i]<<' ';
    return 0;
}