Cod sursa(job #1679268)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 7 aprilie 2016 20:19:31
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <cstdio>
#include <algorithm>

#define NMax 300000005
#define DIM 8192
using namespace std;

int n,k,x;
int a[NMax];

char BUFF[DIM];
int poz;

int cit(int &x){
    x = 0;
    while(BUFF[poz] < '0' || BUFF[poz] > '9'){
        if(++poz == DIM){
            fread(BUFF,1,DIM,stdin);
            poz = 0;
        }
    }
    while(BUFF[poz] >= '0' && BUFF[poz] <= '9'){
        x = x * 10 + BUFF[poz] - '0';
        if(++poz == DIM){
            fread(BUFF,1,DIM,stdin);
            poz = 0;
        }
    }
}
int main()
{
    freopen("sdo.in","r",stdin);
    freopen("sdo.out","w",stdout);
    cit(n);cit(k);
    for(int i = 1; i <= n; ++i)
        cit(a[i]);
    nth_element(a + 1, a + k, a + n + 1);
    printf("%d\n",a[k]);
    return 0;
}