Cod sursa(job #235817)

Utilizator Bogdan_tmmTirca Bogdan Bogdan_tmm Data 25 decembrie 2008 22:30:56
Problema Economie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 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],aux[1005],nr,j,i,n;
void sort()
{
 int t=1;
 while(t)
 { t=0;
  for(i=1;i<n;i++)
  {
   if(a[i]>a[i+1])
   {
    int aux=a[i];
    a[i]=a[i+1];
    a[i+1]=aux;t=1;
   }
  }
 }
}
int main()
{
 fscanf(f,"%ld",&n);
 for(i=1;i<=n;i++)
  fscanf(f,"%ld",&a[i]);
 sort();
 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<=50000;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;
}