Cod sursa(job #1187141)

Utilizator hopingsteamMatraguna Mihai-Alexandru hopingsteam Data 17 mai 2014 18:37:59
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include    <iostream>
#include    <fstream>
#include    <algorithm>

using namespace std;

ifstream fin("economie.in");
ofstream fout("economie.out");

int v[1005], sol[1005], soln;
bool itCouldBe[50005];

int N;
void read()
{
    fin >> N;
    for(int i = 0; i < N; i++)
        fin >> v[i];
}

void solve()
{
    sort(v,v+N);

    sol[0] = v[0];
    soln += 1;

    for(int i = 0; i < N; i++)
    {
        for(int j = 0; j < soln; j++)
        {
            //cout << "v[" << i << "] (" << v[i] << ") | sol[" << j << "] (" << sol[j] << ");\n";
            if(v[i] % sol[j] == 0) {    itCouldBe[v[i]] = false;    break;  }
            if(v[i] % sol[j])  itCouldBe[v[i]] = true;
        }
        if(itCouldBe[v[i]] == true)
        {
            sol[soln] = v[i];
            soln += 1;
        }
    }
}

void show()
{
    fout << soln << "\n";
    for(int i = 0; i < soln; i++)
        fout << sol[i] << "\n";
}

int main()
{
    read();
    solve();
    show();
    return 0;
}