Pagini recente » Cod sursa (job #2453299) | Cod sursa (job #2531290) | Cod sursa (job #2936871) | Cod sursa (job #1293151) | Cod sursa (job #2274755)
#include <iostream>
#include <fstream>
#include <set>
using namespace std;
ifstream f("sdo.in") ;
ofstream g("sdo.out") ;
long long n , nr , x , a[90000] ;
void poz ( long long st, long long dr )
{
long long i = st , j = dr , pivot = a[(i+j)/2] ;
do{
while( (i < dr) && (a[i] < pivot) )
i ++ ;
while( (j > st) &&( a[j] > pivot) )
j -- ;
if( i <= j ){
swap( a[i] , a[j] ) ;
i ++ ;
j -- ;
}
if( j == nr ) {
x=1;
g << a[j] ;
return ;
}
}while( i <= j ) ;
if( st < j )
poz( st , j ) ;
if( i < dr )
poz( i , dr ) ;
}
int main()
{ long long i ;
f >> n >> nr ;
for( i = 1 ; i <= n ; i ++ )
f >> a[i] ;
poz( 1 , n ) ;
if( x==0 )
g << a[nr] ;
}