Cod sursa(job #2627763)

Utilizator Iulia25Hosu 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]<<" ";
}