Cod sursa(job #2575677)

Utilizator NightChipsAlbert Maftei NightChips Data 6 martie 2020 15:00:10
Problema Economie Scor 10
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 main()
{ int n;
  fin>>n;
  int v[n+2];
  int c[n+2],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=v[i]*2;j<=MAX;j+=v[i])b[j]=1;
    for(int j=MIN;j<=MAX;j++) if(b[j]) b[j+v[i]]=1;
  }
  fout<<index-1<<'\n';
  for(int i=1;i<index;i++) fout<<c[i]<<'\n';

}