Cod sursa(job #432335)

Utilizator DraStiKDragos Oprica DraStiK Data 2 aprilie 2010 10:57:27
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <algorithm>
using namespace std;

#define DIM 3000005
#define MAX 10005

int n,k,poz=MAX-1;
char buff[DIM];
int v[DIM];

inline void cit (int &nr)
{
    for ( ; !isdigit (buff[poz]); )
        if (++poz==MAX)
        {
            fread (buff,1,MAX,stdin);
            poz=0;
        }
    for (nr=0; isdigit (buff[poz]); )
    {
        nr=nr*10+buff[poz]-'0';
        if (++poz==MAX)
        {
            fread (buff,1,MAX,stdin);
            poz=0;
        }
    }
}

void read ()
{
    int i;

    cit (n); cit (k);
    for (i=1; i<=n; ++i)
        cit (v[i]);
}

int main ()
{
    freopen ("sdo.in","r",stdin);
    freopen ("sdo.out","w",stdout);

    read ();
    nth_element (v+1,v+k,v+n+1);
    printf ("%d",v[k]);

    return 0;
}