Cod sursa(job #3163082)

Utilizator Horia123144Musat Horia Gabriel Horia123144 Data 30 octombrie 2023 15:01:44
Problema Economie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int n,v[1005],posibil[50005],k;
queue <int> sol;
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>v[i];
    sort(v+1,v+n+1);
    for(int i=1;i<=v[i];i++)
        posibil[i]=-1;
    for(int i=1;i<=n;i++)
    {
        if(posibil[i]==-1)
        {
            sol.push(v[i]);
            for(int p=0;p<=v[n]-v[i];p++)
                if(posibil[p]!=-1)
                    posibil[p+v[i]]=1;
        }
    }
    fout<<sol.size()<<'\n';
    while(!sol.empty())
    {
        fout<<sol.front()<<'\n';
        sol.pop();
    }
    return 0;
}