Cod sursa(job #2394466)

Utilizator BogauuuBogdan Ivancu Bogauuu Data 1 aprilie 2019 17:30:12
Problema Economie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int n,maxim,i,j,k,a[1005],af[1005],d[50005];

int main()
{
    fin >> n;
    maxim=-1;
    for (i=1;i<=n;i++)
    {
        fin >> a[i];
        if (a[i]>maxim) maxim=a[i];
    }
    sort (a+1,a+n+1);
    k=1;
    af[k]=a[1];
    for (i=1;a[1]*i<=maxim;i++) d[a[1]*i]=1;
    d[0]=1;
    for (i=2;i<=n;i++)
    {
        if (d[a[i]]==0)
        {
            k++;
            af[k]=a[i];
            for (j=maxim-a[i];j>=0;j--) if (d[j]==1) d[j+a[i]]=1;
        }
    }
    fout << k << "\n";
    for (i=1;i<=k;i++) fout << af[i] << "\n";

    return 0;
}