Cod sursa(job #1278523)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 29 noiembrie 2014 00:09:39
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
int v[1002],n,i,j,sol[1002],k;
bool s[1000*50000+2];
int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    sort(v+1,v+n+1);
    s[0]=1;
    for(i=1;i<=n;i++)
        if(!s[v[i]]){
            sol[++k]=i;
            for(j=0;j<=v[n] && j+v[i]<=v[n];j++)
                if(s[j]==1)
                    s[j+v[i]]=1;
        }
    fout<<k<<'\n';
    for(i=1;i<=k;i++)
        fout<<v[sol[i]]<<'\n';
    fin.close();fout.close();
    return 0;
}