Pagini recente » Cod sursa (job #776661) | Cod sursa (job #1682341) | Cod sursa (job #2222788) | Cod sursa (job #1608428) | Cod sursa (job #1898343)
#include <fstream>
#include <algorithm>
#include <vector>
#define NMAX 50005
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
int N, contor;
int v[NMAX];
int S[NMAX * 1000];
int maxi;
vector <int> sol;
void Read(){
in >> N;
for(int i = 1; i <= N; ++i)
in >> v[i];
}
void Solve(){
sort(v + 1, v + N + 1);
maxi = v[N];
for(int i = 1; i <= N; ++i){
if(!S[v[i]]){
sol.push_back(i);
for(int j = 1; j <= maxi - v[i]; ++j){
if(S[j])
S[j + v[i]] = 1;
else if(j % v[i] == 0 && j >= v[i])
S[j] = 1;
}
}
}
}
void Print(){
int sz = sol.size();
out << sz << "\n";
for(int i = 0; i < sz; ++i)
out << v[sol[i]] << " ";
out << "\n";
}
int main()
{
Read();
Solve();
Print();
return 0;
}