Cod sursa(job #1226698)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 6 septembrie 2014 21:36:03
Problema Interclasari Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<fstream>
using namespace std;
ifstream in("interclasari.in");
ofstream out("interclasari.out");

int v[20000009],n,k,poze;

void read()
{

    in>>k;
    ++k;
    int i;
    while(--k){
        in>>n;
        for(i = 1 ; i <= n ; i++)
            in>>v[++poze];
    }
    in.close();
}

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);
}

void write()
{

    out<<poze<<"\n";
    for(int i = 1 ; i <= poze ; i++)
        out<<v[i]<<" ";
    out.close();
}

int main()
{

    read();
    qsort(1,poze);
    write();
    return 0;
}