Pagini recente » Cod sursa (job #3291905) | Borderou de evaluare (job #957100) | Borderou de evaluare (job #1582783) | Borderou de evaluare (job #1427097) | Cod sursa (job #2501161)
#include <bits/stdc++.h>
using namespace std;
int v[1005];
int f[50005];
vector <int> monede;
int main()
{
ifstream cin ("economie.in");
ofstream cout ("economie.out");
int n,i,j;
cin>>n;
for(i=1; i<=n; i++)
{
cin>>v[i];
}
sort(v+1,v+n+1);
int maxx=v[n];
for(i=1; i<=n; i++)
{
if(f[v[i]]==0)
{
monede.push_back(v[i]);
f[v[i]]=1;
for(j=1; j<=maxx-v[i]; j++)
{
if(f[j]==1)
{
f[j+v[i]]=1;
}
}
}
}
cout<<monede.size()<<"\n";
for(i=0;i<monede.size();i++)
cout<<monede[i]<<"\n";
return 0;
}