Cod sursa(job #1274526)

Utilizator alina.luparuFMI Luparu Alina alina.luparu Data 23 noiembrie 2014 22:12:02
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <algorithm>

using namespace std;

#define MAX_N 3000005

ifstream fin ("sdo.in");
ofstream fout ("sdo.out");

int v[MAX_N], n, k;

void citire()
{
    fin >> n >> k;

    for(int i = 1; i <= n; ++i)
        fin >> v[i];
}
void QUICKSORT(int inf,int sup)
{
  int x,i,j,t;
  i=inf;
  j=sup;
  nth_element(v+inf, v+k, v+sup+1);
    x=v[k];
  do{
    while ((i<sup)&&(v[i]<x)) i++;
    while ((j>inf)&&(v[j]>x)) j--;
    if (i<=j)
    {
      t=v[i];
      v[i]=v[j];
      v[j]=t;
      i++;
      j--;
    }
  }while (i<=j);
  if (inf<j) QUICKSORT(inf,j);
  if (i<sup) QUICKSORT(i,sup);
}
int main()
{
    int sdo;
    citire();
    nth_element(v+1, v+k, v+n+1);
    sdo=v[k]; fout<<sdo<<endl;



}