Cod sursa(job #1579380)

Utilizator emanuel_rRamneantu Emanuel emanuel_r Data 24 ianuarie 2016 18:10:07
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<fstream>
#include<algorithm>

using namespace std;

ofstream g("sdo.out");

int V[3000005];
int n, k, pos;
char Buffer[100000];
int const Buffer_Size = 100000;

void citeste(int & nr)
{
    nr = 0;
    while(Buffer[pos] < '0' || Buffer[pos] > '9'){
        pos++;
        if(pos == Buffer_Size){
            fread(Buffer, 1, Buffer_Size, stdin);
            pos = 0;
        }
    }
    while(Buffer[pos] >= '0' && Buffer[pos] <= '9'){
        nr = nr*10 + Buffer[pos++] - '0';
        if(pos == Buffer_Size){
            fread(Buffer, 1, Buffer_Size, stdin);
            pos = 0;
        }
    }
}

void citire()
{
    freopen("sdo.in", "r", stdin);
    fread(Buffer, 1, Buffer_Size, stdin);

    int i;
    citeste(n);citeste(k);
    for(i=1; i<=n; i++){
        citeste(V[i]);
    }
}


int main()
{
    citire();
    nth_element(V+1, V+k, V+n+1);
    g<<V[k]<<"\n";
}