Cod sursa(job #2627763)
Utilizator | Hosu Iulia Iulia25 | Data | 12 iunie 2020 13:58:07 |
---|---|---|---|
Problema | Economie | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream>
using namespace std;
ifstream cin ("economie.in");
ofstream cout ("economie.out");
int v[1005], w[50005], poz[1005], nr, j, i;
int main() {
int n,x;
w[0] = 1;
cin>>n;
for(i=1;i<=n;i++)
cin>>v[i];
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
if(v[i]>v[j]) swap(v[i],v[j]);
for(i=1;i<=n;i++)
if(w[v[i]]==0)
{
poz[i]=1;
nr++;
///w[v[i]] = 1;
for(j=0;j<=50000 - v[i];j++)
{
if(w[j]==1) w[j + v[i]]=1;
}
}
cout<<nr<<'\n';
for(i=1;i<=n;i++)
if(poz[i]==1)cout<<v[i]<<" ";
}