Cod sursa(job #373329)

Utilizator DraStiKDragos Oprica DraStiK Data 13 decembrie 2009 16:05:17
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.8 kb
#include <algorithm>
using namespace std;

#define DIM 3000005
#define MAX 10005

char buff[MAX];
int n,k,poz;
int a[DIM];

inline void cit (int &nr)
{
    for (nr=0; buff[poz]<'0' || buff[poz]>'9'; )
        if (++poz==MAX)
        {
            fread (buff,1,MAX,stdin);
            poz=0;
        }
    for ( ; '0'<=buff[poz] && buff[poz]<='9'; )
    {
        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 (a[i]);
}

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

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

    return 0;
}