Cod sursa(job #142791)

Utilizator MikeysMihai Tiganus Mikeys Data 25 februarie 2008 10:55:07
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 2.36 kb
#include <fstream.h>

int main(){
    int i,j,ind,n,b,v[1000],test,min,inm,temp,x;
    ifstream in("economie.in");
    ofstream out("economie.out");
    in >>n;
    for(i=0;i<n;i++){
                    in >>v[i];
                    if(v[i]==1){
                                test=0;
                                out <<"1\n1";
                    }
    }
            
    if(test){
             for(i=0;i<n-1;i++){
                     min=v[i];
                     for(j=i;j<n;j++)
                               if(min>v[j]){
                                            inm=j;
                                            min=v[j];
                               }
                     temp=v[inm];
                     v[inm]=v[i];
                     v[i]=temp;
                     
             }
             ind=0;
             while(ind<n){
                          i=ind+1;
                          while(i<n){
                                     b=1;
                                     if(v[i]%v[ind]==0)
                                                       b=0;
                                     else
                                         for(j=0;j<ind && b==1;j++){
                                                            x=1;
                                                            while(v[i]>x*v[j] && b==1){
                                                                                   if((v[i]-(x*v[j]))%v[ind]==0)
                                                                                                            b=0;
                                                                                   x++;
                                                            }
                                         }
                                         if(b==0){
                                                  for(j=i;j<n-1;j++)
                                                                    v[j]=v[j+1];
                                                  n--;
                                         }
                                          else i++;
                                         }
                          ind++;
             }
    }
    out <<ind<<"\n";
    for(i=0;i<ind;i++)
                      out <<v[i]<<"\n";
    in.close();
    out.close();
    return 0;
}