Cod sursa(job #3253641)

Utilizator ilincaSSirbu Ilinca Maria ilincaS Data 3 noiembrie 2024 22:05:33
Problema Statistici de ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
using namespace std;

ifstream cin("sdo.in");
ofstream cout("sdo.out");

int v[3000005];
int u[3000005];

void interclass(int l, int m, int r)
{
    int i=l, j=m+1;
    for(int z=l; z<=r; z++)
    {
        if(i==m+1 || (j<=r && v[i]>v[j]))
        {
            u[z]=v[j];
            j++;
        }
        else
        {
            u[z]=v[i];
            i++;
        }
    }
    for(int z=l; z<=r; z++)
    {
        v[z]=u[z];
        u[z]=0;
    }

}

void mergesort(int left, int right)
{
    if(left==right)
        return;
    int mid=(right+left)/2;
    mergesort(left, mid);
    mergesort(mid+1, right);
    interclass(left, mid, right);
}



int main()
{
    int n, k;
    cin>>n>>k;
    for(int i=0; i<n; i++)
    {
        cin>>v[i];
    }
    mergesort(0, n-1);
    cout<<v[k-1];


    return 0;
}