Cod sursa(job #235812)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 25 decembrie 2008 22:03:02
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<iostream>
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *f=fopen("economie.in","r"),*g=fopen("economie.out","w");
unsigned short v[50005];long a[1005],max,aux[1005],nr,j,i,n;
using namespace std;
int main()
{
 fscanf(f,"%ld",&n);
 for(i=1;i<=n;i++)
  fscanf(f,"%ld",&a[i]),max=max>a[i]?max:a[i];
 sort(a+1,a+n+1);
 for(i=1;i<=n;i++)
  if(v[a[i]]==0)
  {
   nr++;
   aux[nr]=a[i];
   v[a[i]]=1;
  for(j=a[i]+1;j<=max;j++)
   if(v[j-a[i]])
    v[j]=1;
  }
 fprintf(g,"%ld\n",nr);
 for(i=1;i<=nr;i++)
   fprintf(g,"%ld\n",aux[i]);
return 0;
}