Cod sursa(job #1174567)

Utilizator BaTDucKMocanu George BaTDucK Data 23 aprilie 2014 12:44:18
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
// BaTDucK is the boss!!!
#include<stdio.h>
#include<algorithm>
using namespace std;
int v[1005],sol[1005];
bool sume[50004];
int main()
{
    int N,nr=0;
    freopen("economie.in","r",stdin);
    freopen("economie.out","w",stdout);
    scanf("%d",&N);
    for(int i=1;i<=N;++i)
        scanf("%d",&v[i]);
    sort(v+1,v+1+N);
    for(int i=1;i<=N;++i){
        if(sume[v[i]]==0){
            sol[++nr]=v[i];
            sume[v[i]]=1;
            for(int j=1;j<=50000-v[i];j++)
                if(sume[j]==1) sume[j+v[i]]=1;
        }
    }
    printf("%d\n",nr);
    for(int i=1;i<=nr;++i)
        printf("%d\n",sol[i]);
    fclose(stdin);fclose(stdout);
    return 0;
}