Cod sursa(job #110603)

Utilizator TabaraTabara Mihai Tabara Data 26 noiembrie 2007 23:50:36
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <fstream>
using namespace std;

#define in "economie.in"
#define out "economie.out"
#define NMAX 10001

#include <vector>
#include <algorithm>

vector<int> a;
vector<int> sol;
int n;

int main()
{    
    FILE *fin = fopen( in, "r" );
    FILE *fout = fopen( out, "w" );
          
    fscanf( fin, "%d\n", &n );
    int i, val, j;
    for ( i = 1; i <= n; ++i )
    {    
         fscanf( fin, "%d\n", &val );
         a.push_back( val );
    }
    //ok.resize( a.size() );
    sort( a.begin(), a.end() );
    
    sol.push_back( a[0] );
    for ( i = 1; i < a.size(); ++i )
    {
        bool ok = false;
        for ( j = 0; j < sol.size(); ++j )
        {
              if ( a[i] % sol[j] == 0 ) ok = true;
        }
        if ( ok == true ) continue;
        else if ( ok == false ) sol.push_back( a[i] );
    }
    fprintf( fout, "%d\n", sol.size() );
    for ( i = 0; i < sol.size(); ++i )
        fprintf( fout, "%d\n", sol[i] );
    
    fclose( fin );
    fclose( fout );
    return 0;
}