Cod sursa(job #1108372)

Utilizator teoionescuIonescu Teodor teoionescu Data 15 februarie 2014 16:59:50
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
const int N = 1005;
const int R = 50005;
int n,v[N],set[N],test[R];
int main(){
    in>>n;
    for(int i=1;i<=n;i++) in>>v[i];
    sort(&v[1],&v[n+1]);
    test[0]=1;
    for(int i=1;i<=n;i++){
        if(test[v[i]]==0){
            set[++set[0]]=v[i];
            for(int j=0;j<=50000;j++) if(test[j]==1 && (j+v[i])<=50000) test[j+v[i]]=1;
        }
    }
    out<<set[0]<<'\n';
    for(int i=1;i<=set[0];i++) out<<set[i]<<'\n';
    return 0;
}