Pagini recente » Cod sursa (job #842808) | Cod sursa (job #1168089) | Cod sursa (job #2234560) | Cod sursa (job #2970822) | Cod sursa (job #1576954)
#include<fstream>
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
const int NMax = 1005;
const int VMax = 50005;
int N;
int M[NMax];
bool R[VMax];
vector <int> V;
void Read()
{
fin>>N;
for( int i = 1 ; i <= N ; ++i )
fin>>M[i];
}
void Solve()
{
int i,j;
sort(M+1,M+N+1);
R[0]=1;
for(i=1;i<=N;++i)
if(!R[M[i]])
{
V.push_back(M[i]);
for(j = 0;j <= M[N];j++)
R[j+M[i]]=1;
}
}
void Print()
{
fout<<V.size()<<"\n";
N = V.size();
for(int i=0;i<N;++i)
fout<<V[i]<<"\n";
}
int main()
{
Read();
Solve();
Print();
fin.close();
fout.close();
return 0;
}