Cod sursa(job #2067084)

Utilizator Garen456Paun Tudor Garen456 Data 15 noiembrie 2017 20:13:01
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
int a[3000005],n,k;
inline void srt(int st,int dr)
{if(st>=dr)return;
    int pivot=(st+dr)/2,i;
    for( i=st;i<=dr;i++)
    {
        if(a[pivot]<a[i]&&pivot>i)
            swap(a[pivot],a[i]),pivot=i;
        if(a[pivot]>a[i]&&pivot<i)
        {
            swap(a[pivot],a[i]),pivot++;
            swap(a[pivot],a[i]);
        }
    }
  if(pivot<k)    srt(pivot+1,dr);
    else srt(st,pivot);
}
int main()
{   int i;
    fin>>n>>k;
    for( i=1;i<=n;i++)fin>>a[i];
    srt(1,n);
    fout<<a[k];
    return 0;
}