Pagini recente » Cod sursa (job #3267360) | Cod sursa (job #2880387) | Cod sursa (job #1362080) | Cod sursa (job #3244629) | Cod sursa (job #3293478)
#include <fstream>
#include<set>
#include<bits/stdc++.h>
using namespace std;
ifstream fin("economie.in");
ofstream fout("economie.out");
set<int>s;
bool mark[50005];
vector<int>sol;
int main()
{
int n,Max=0;
fin>>n;
for(int i=1;i<=n;i++)
{
int x;
fin>>x;x=max(x,Max);
s.insert(x);
}
for (auto x:s)
{int ok=0;
if(!mark[x])
{
mark[x]=1;
sol.push_back(x);
for(int i=1;i<=Max-x;i++)
{
mark[i+x]=1;
}
}
for(auto y:s)
{
if(mark[y]==1)continue;
else {ok=1;break;}
}
if(ok==1)break;
}
fout<<sol.size();
fout<<endl;
for(int i=0;i<sol.size();i++)
fout<<sol[i]<<"\n";
return 0;
}