Cod sursa(job #994842)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 6 septembrie 2013 15:00:37
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <algorithm>

using namespace std;

int n,v[1005],a[1005],len;
bool viz[50002];

inline void Read()
{
    int i;
    ifstream fin("economie.in");
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>v[i];
    fin.close();
}

inline void Solve()
{
    int i,j;
    sort(v+1,v+n+1);
    viz[0]=true;
    for(i=1;i<=n;i++)
        if(!viz[v[i]])
        {
            a[++len]=v[i];
            for(j=0;j<=50000-v[i];j++)
                if(viz[j])
                    viz[j+v[i]]=true;
        }
    ofstream fout("economie.out");
    fout<<len<<"\n";
    for(i=1;i<=len;i++)
        fout<<a[i]<<" ";
    fout<<"\n";
    fout.close();
}

int main()
{
    Read();
    Solve();
    return 0;
}