Pagini recente » Cod sursa (job #288438) | Cod sursa (job #1546521) | Cod sursa (job #772180) | Cod sursa (job #693639) | Cod sursa (job #2138950)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <queue>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
queue <int> q;
int n;
int v[1005];
bool p[60000];
int main(){
fin >> n;
for(int i = 0; i < n; i++)
fin >> v[i];
sort(v, v + n);
q.push(v[0]);
p[0] = 1;
for(int i = v[0]; i <= v[n-1]; i += v[0])
p[i] = 1;
for(int i = 1; i < n; i++)
if(!p[v[i]]){
q.push(v[i]);
for(int j = 0; j <= v[n-1] - v[i]; j++)
if(p[j])
p[v[i] + j] = 1;
}
fout << q.size() << '\n';
while(!q.empty())
fout << q.front() << '\n', q.pop();
return 0;
}