Cod sursa(job #287558)

Utilizator ssergiussSergiu-Ioan Ungur ssergiuss Data 24 martie 2009 22:45:25
Problema Economie Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<algorithm>
using namespace std;

#define DIM 100001
#define MAX 50001

int n,a[DIM],f[DIM];

void solve(){
    int i,j,k;

    scanf("%d",&n);
    for(i=1; i<=n; ++i)
        scanf("%d",&a[i]);
    sort(a+1,a+n+1);
    for(i=f[0]=1; i<=n; ++i)
        for(j=0; j<MAX; ++j)
            if(f[j])
                ++f[j+a[i]];
    for(i=1,k=0; i<=n; ++i)
        if(f[a[i]]>1)
            ++k;
    printf("%d\n",n-k);
    for(i=1; i<=n; ++i)
        if(f[a[i]]<2)
            printf("%d\n",a[i]);}
int main(){
    freopen("economie.in","r",stdin);
    freopen("economie.out","w",stdout);
    solve();
    return 0;}