Cod sursa(job #1921513)

Utilizator bt.panteaPantea Beniamin bt.pantea Data 10 martie 2017 12:59:26
Problema Statistici de ordine Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <iostream>
#include <fstream>
#define NMAX 3000005
using namespace std;
ifstream f ("sdo.in");
ofstream g ("sdo.out");
int v[NMAX], n, k;
int quick(int ls, int ld)
{
    int sw = 1, i, j;
    do
    {
        i = ls; j = ld;
        while (i < j)
        {
            if (v[i] > v[j])
            {
                v[i] = v[i] ^ v[j];
                v[j] = v[i] ^ v[j];
                v[i] = v[i] ^ v[j];
                sw = !sw;
            }
            i += sw;
            j -= !sw;
        }
        if (k < i) ld = i - 1;
        else ls = i + 1;
    } while (k != i);
    return v[k];
}

int main()
{
    f>>n>>k;
    k--;

    for (int i = 0; i < n; i++)
        f>>v[i];
    g<<quick(0, n - 1);
    return 0;
}