Cod sursa(job #3312008)

Utilizator andrei_r4duAndrei Radu andrei_r4du Data 25 septembrie 2025 13:16:00
Problema Statistici de ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include <bits/stdc++.h>

using namespace std;

/*void quick_sort(int v[], int st, int dr, int k){
    if(st>=dr){
        return;
    }
    int p1, p2;
    if(k<p1){
        quick_sort(v, st, p1-1, k);
    }
    if(k>p2){
        quick_sort(v, p2+1, dr, k);
    }


}*/

void quick_sort(int v[], int st, int dr)
{
	if(st < dr)
	{
		//pivotul este inițial v[st]
		int m = (st + dr) / 2;
		int aux = v[st];
		v[st] = v[m];
		v[m] = aux;
		int i = st , j = dr, d = 0;
		while(i < j)
		{
			if(v[i] > v[j])
			{
				aux = v[i];
				v[i] = v[j];
				v[j] = aux;
				d = 1 - d;
			}
			i += d;
			j -= 1 - d;
		}
		quick_sort(v, st , i - 1);
		quick_sort(v, i + 1 , dr);
	}
}


int main()
{
    ifstream in("sdo.in");
    ofstream out("sdo.out");
    int n, k;
    in >> n >> k;
    int v[n];
    k--;
    for(int i=0; i<n; i++){
        in>>v[i];
    }
    quick_sort(v,0,n-1);
    out << v[k]<<"\n";
    in.close();
    out.close();
    return 0;

}