Cod sursa(job #277493)

Utilizator Cristy94Buleandra Cristian Cristy94 Data 11 martie 2009 19:22:25
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include<fstream.h>
ifstream f("economie.in");
ofstream g("economie.out");
unsigned int monezi[1001],n,i,x,k,ok,nr,j;
unsigned int posibilitati[50001];
int main(){
f>>n;
for(i=1;i<=n;i++)
    f>>monezi[i];
for(i=1;i<=n-1;i++)
  for(k=i+1;k<=n;k++)
    if(monezi[i]>monezi[k]){
      x=monezi[k];
      monezi[k]=monezi[i];
      monezi[i]=x;}
ok=0;
nr=0;
while(ok==0){
ok=1;
for(i=1;i<n;i++)
   if(posibilitati[monezi[i]]==0)
     {ok=0;break;}
if(ok==0){
posibilitati[monezi[i]]=2;
nr++;
x=1;
for(i=x+1;i<=50001;i++){
   if(i%x==0)
   posibilitati[i]=1;
   for(j=i+1;j<=50001;j++)
    if(posibilitati[monezi[i]]!=0&&posibilitati[monezi[j]]!=0)
       {x=monezi[i]+monezi[j];
       posibilitati[x]=1;}}

      }}
g<<nr<<'\n';
for(i=1;i<=n;i++)
  if(posibilitati[monezi[i]]==2)
    g<<monezi[i]<<" ";
return 0;
}