Cod sursa(job #1194818)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 4 iunie 2014 21:11:59
Problema Economie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include<fstream>
using namespace std;
ifstream in("economie.in");
ofstream out("economie.out");
int v[1009],n,sol[1009],s;

void qsort(int left,int right)
{

    int i = left,j = right,aux;
    int pivot = v[(i+j)/2];
    while(i <= j){

        while(v[i] < pivot)
            i++;
        while(v[j] > pivot)
            j--;
        if(i <= j){
        aux = v[i];
        v[i] = v[j];
        v[j] = aux;
        i++;
        j--;
        }
    }
    if(left < j) qsort(left,j);
    if(i < right) qsort(i,right);
}

int main()
{

    in>>n;
    int i,j;
    for(i = 1 ; i <= n ; i++)
        in>>v[i];
    qsort(1,n);
    for(i = 1 ; i <= n ; i++)
        if(v[i] != -1){
            sol[++s] = v[i];
            for(j = i+1 ; j <= n ; j++)
                if(v[j] % v[i] == 0)
                    v[j] = -1;
        }
    out<<s<<"\n";
    for(i = 1 ; i <= s ; i++)
        out<<sol[i]<<"\n";
    return 0;
}