Cod sursa(job #1924905)

Utilizator BourucLiviuBouruc Petru Liviu BourucLiviu Data 12 martie 2017 14:23:43
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <cstdio>
#include <cctype>
#include <algorithm>

#define BUFF_SIZE 4096

using namespace std;

FILE *f = fopen("sdo.in", "r");
FILE *g = fopen("sdo.out", "w");

char buff[BUFF_SIZE];
int poz = BUFF_SIZE;
inline char getChar()
{
    if(poz == BUFF_SIZE)
    {
        fread(buff, 1, BUFF_SIZE, f);
        poz = 0;
    }
    return buff[poz++];
}
inline int read()
{
    int rez = 0;
    char c;
    do
    {
        c = getChar();
    } while(!isdigit(c));
    do
    {
        rez = rez * 10 + (c - '0');
        c = getChar();
    } while(isdigit(c));
    return rez;
}

unsigned int v[4000005];

int main()
{
    int n, k;
    n = read(); k = read();
    for(int i = 1; i <= n; ++i) v[i] = read();
    fclose(f);

    nth_element(v+1, v+k, v+n+1);
    fprintf(g, "%d", v[k]);
    fclose(g);
    return 0;
}