Pagini recente » Cod sursa (job #2385855) | Cod sursa (job #3189156) | Cod sursa (job #1422012) | Cod sursa (job #2770599) | Cod sursa (job #2515712)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
unordered_map<int,int> m;
const int lim=1e3+3;
const int lim2=5e4+3;
int v[lim];
int f[lim];
int main()
{
int n,maxx=-1;
in>>n;
for(int i=1;i<=n;++i)
{
in>>v[i];
m[v[i]]=i;
if(v[i]>maxx)
maxx=v[i];
}
f[0]=1;
int cnt=0;
for(int i=1;i<=n;++i)
if(v[i]!=-1)
{
++cnt;
for(int j=0;j<=maxx;++j)
if(f[j]==1)
{
if(m[j]>0 and m[j]>=i+1)
v[m[j]]=-1;
if(j+v[i]<=maxx)
f[j+v[i]]=1;
}
}
out<<cnt<<endl;
for(int i=1;i<=n;++i)
if(v[i]!=-1)
out<<v[i]<<endl;
return 0;
}