Cod sursa(job #1081469)

Utilizator PetreFlorinaFMI Petre Florina PetreFlorina Data 13 ianuarie 2014 17:34:35
Problema Statistici de ordine Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <fstream>
#include <ctime>
#include <cstdlib>

using namespace std;

ifstream f("sdo.in");
ofstream g("sdo.out");

int k, a[3000001];

void quicksort(int *a, int dr, int st)
{
    int p, j, aux, i;

    if (dr < st)
    {
        p=dr;
        i=dr;
        j=st;

        while(i < j)
        {
            while((a[i] <= a[p]) && (i<st))
                i++;
            while(a[j] > a[p])
                j--;

            if(i < j)
            swap (a[i], a[j]);
        }

        swap (a[p], a[j]);

        if (k == j)
        {
            g<<a[j];
             return;
        }
        else
            if (j<k)
             quicksort(a, j+1, st);
            else
             quicksort(a, dr, j-1);

    }
    else g << a[dr];
    return;
}



int main()
{
    int n,i;

    f >> n >> k;

    for (i=1; i<=n; i++)
     f >> a[i];

    quicksort(a,1,n);

    return 0;
}