Cod sursa(job #1281023)

Utilizator cojocarugabiReality cojocarugabi Data 2 decembrie 2014 19:53:39
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
# include <bits/stdc++.h>
using namespace std;
ifstream fi("economie.in");
ofstream fo("economie.out");
bitset < 50005 > s;
int v[1005];
vector < int > a;
int main(void)
{
    int n;
    fi>>n;
    for (int i=1;i<=n;++i) fi>>v[i];
    sort(v+1,v+1+n);
    int ans=0;
    for (int i=1;i<=50001;++i) s[i]=1;
    for (int i=1;i<=n;++i) if (s[v[i]])
    {
        a.push_back(v[i]);
        s[v[i]]=0;
        for (int j=s[v[i]];j<=50000-s[v[i]];++j) if (!s[j]) s[j+v[i]]=0;
    }
    fo << (a.size()) << '\n';
    for (int i=0,l=a.size();i<l;++i) fo << a[i] << ' ';
    return fo << '\n',0;
}