Cod sursa(job #1098835)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 5 februarie 2014 11:45:26
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
/*
     Statistici de ordine - O(N)
Statistica k a lui v=al k-lea cel mai mic element din v
nth_element(v+1,v+K,v+1+N)
     *pune pe pozitia k statistica de ordin k
     *pe poz 1...k-1 elementele mai mici decat v[k]
     *pe poz k+1...N elementele mai mari decat v[k]
          **intr-o ordine aleatoare
*/
#include <fstream>
#include <algorithm>
#define Nmax 3000099
using namespace std;

ifstream f("sdo.in");
ofstream g("sdo.out");

int N,K,v[Nmax];

inline void ReadInput()
{
    f>>N>>K;
    for(int i=1;i<=N;++i)f>>v[i];
}

int main()
{
    ReadInput();
    nth_element(v+1, v+K, v+N+1);
    g<<v[K]<<'\n';
    f.close();g.close();
    return 0;
}