Mai intai trebuie sa te autentifici.

Cod sursa(job #1018554)

Utilizator andykP. Andrei andyk Data 29 octombrie 2013 18:54:25
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long n,k,i,j,v[3000001];

long sdo(long cap1,long cap2)
{
    long i=cap1,j=cap2;
    long piv=v[(cap1+cap2+1)/2];
    while (i<=j)
    {
        while (v[i]<piv)
            i++;
        while (v[j]>piv)
            j--;
        if (i <= j)
        {
            swap(v[i],v[j]);
            i++;
            j--;
        }
    }
    if (k<=j)
        return sdo(cap1,j);
    else if (i<=k)
        return sdo(i,cap2);
    else
        return v[k];
}
int main()
{
    f>>n>>k;
    for (i=1;i<=n;i++)
        f>>v[i];
    g<<sdo(1,n);
    return 0;
}