Pagini recente » Cod sursa (job #619592) | Cod sursa (job #2798695) | Cod sursa (job #2367812) | Cod sursa (job #2629629) | Cod sursa (job #1727389)
#include <fstream>
#include <iostream>
#include <math.h>
#include <algorithm>
using namespace std;
#define ll long long
#define llu long long unsigned
#define pb push_back
#define mp make_pair
string problemName = "economie";
string inFile = problemName+".in";
string outFile = problemName+".out";
ifstream fin(inFile.c_str());
ofstream fout(outFile.c_str());
int v[1005];
bool have[50005];
vector <int> ans;
int main(){
int n,i,j;
fin>>n;
for(i = 1;i <= n;i++){
fin>>v[i];
}
sort(v+1, v+n+1);
for(i = 0;i <= v[n];i += v[1]){
have[i] = 1;
}
ans.pb(v[1]);
for(i = 2;i <= n;i++){
if(have[v[i]] == 0){
ans.pb(v[i]);
for(j = 0;j <= v[n]-v[i];j++){
if(have[j]){
have[j+v[i]] = 1;
}
}
}
}
fout<<ans.size()<<'\n';
for(auto it : ans){
fout<<it<<'\n';
}
return 0;
}