Cod sursa(job #1281033)
| Utilizator | Data | 2 decembrie 2014 19:59:03 | |
|---|---|---|---|
| Problema | Economie | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.54 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);
for (int i=1;i<=n;++i) if (!s[v[i]])
{
a.push_back(v[i]);
s[v[i]]=1;
for (int j=0;j<=50000-v[i];++j) if (s[j]) s[j+v[i]]=1;
}
fo << (a.size()) << '\n';
for (int i=0,l=a.size();i<l;++i) fo << a[i] << ' ';
return fo << '\n',0;
}
