Cod sursa(job #2575705)

Utilizator NightChipsAlbert Maftei NightChips Data 6 martie 2020 15:05:57
Problema Economie Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <algorithm>
#include <cstdint>
using namespace std;

ifstream fin("economie.in");
ofstream fout("economie.out");
bool b[50005];
int v[1002],c[1002];
int main()
{ int n;
  fin>>n;
  int index=1;
  int MIN=INT32_MAX,MAX=0;
  for(int i=1;i<=n;i++) 
  { fin>>v[i];
    MIN=min(MIN,v[i]);
    MAX=max(MAX,v[i]);
  }
  sort(v+1,v+n+1);
  
  for(int i=1;i<=n;i++)
   if(b[v[i]]==0) 
   {
     c[index++]=v[i];
     b[v[i]]=1;
     for(int j=MIN;j<=MAX-v[i];j++) 
         if(b[j]) 
             b[j+v[i]]=1;
  }
  fout<<index-1<<'\n';
  for(int i=1;i<index;i++) fout<<c[i]<<'\n';

}