Cod sursa(job #2026111)

Utilizator SlevySlevoaca Stefan-Gabriel Slevy Data 23 septembrie 2017 18:37:45
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.83 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#define ARRAY_SIZE 3000001
#define BUFF_SIZE 100001

using namespace std;

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

char buffer[BUFF_SIZE];
int pos = 0;

void Read(int &a) {

    while (!isdigit(buffer[pos]))
        if (++pos == BUFF_SIZE)
            in.read(buffer, BUFF_SIZE), pos = 0;
    a = 0;

    while (isdigit(buffer[pos])) {

        a = a * 10 + buffer[pos] - '0';
        if (++pos == BUFF_SIZE)
            in.read(buffer, BUFF_SIZE), pos = 0;
    }
}


int _array[ARRAY_SIZE];

int main() {

    int n, k;
    Read(n), Read(k);

    for (int i = 1; i <= n; i++)
         Read(_array[i]);
    in.close();

    nth_element(_array, _array + k, _array + n + 1);

    out << _array[k] << "\n";

    out.close();
    return 0;
}