Cod sursa(job #1098823)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 5 februarie 2014 11:39:07
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
// Statistici de ordine - O(N)
// care este al k-lea cel mai mic element dintr-un vector
// functia nth_element(v+1,v+K,v+1+N)
// pune pe pozitia k statistica de ordin k
// pe pozitiile 1 ... k-1 vor fi elemente mai mici decat v[k]
// pe pozitiile k+1 ... N vor fi elemente 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;
}