Cod sursa(job #1149145)

Utilizator theodor.moroianuTheodor Moroianu theodor.moroianu Data 21 martie 2014 15:08:34
Problema Statistici de ordine Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
int v[10000];
void schimb (int a,int b){
    int aux=v[a];
    v[a]=v[b];
    v[b]=aux;
}
int pozitie (int st,int dr);
void quicksort(int st,int dr){
    if (st>=dr){
        return;
    }
    int p=pozitie(st,dr);
    quicksort(st,p-1);
    quicksort(p+1,dr);
}
int pozitie(int st,int dr){
    int i=st,j=st;
    while (i<dr){
        if (v[i]<v[dr]){
            schimb (i,j);
            j++;
        }
        i++;
    }
    schimb(j,dr);
    return j;
}
int main()
{
    ifstream in ("sdo.in");
    ofstream out ("sdo.out");
    int n,k;
    in>>n>>k;
    for (int i=1;i<=n;i++){
        in>>v[i];
    }
    quicksort(1,n);
    out<<v[k];
    return 0;
}