Cod sursa(job #1087724)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 19 ianuarie 2014 19:38:45
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("economie.in");
ofstream fout ("economie.out");

int d[50005], v[1005] , s[1005],n,i,j,k,maxim;

int main () {

    fin>>n;

    for (i=1;i<=n;i++){
        fin>>v[i];
        if (v[i]>maxim)
            maxim=v[i];
    }

    sort (v+1,v+n+1);

    for (i=1;i<=n;i++)

        if (d[v[i]]==0) {
            s[++k]=v[i];
            d[v[i]]=1;
            for (j=1;j<=maxim-v[i];j++) {
                if (d[j]==1)
                    d[j+v[i]]=1;
            }
        }
    fout<<k<<"\n";

    for (i=1;i<=k;i++)
        fout<<s[i]<<"\n";

    return 0;
}