Pagini recente » Cod sursa (job #2794583) | Cod sursa (job #724831) | Cod sursa (job #1981728) | Cod sursa (job #7914) | Cod sursa (job #1921497)
#include <iostream>
#include <fstream>
#define NMAX 3000005
using namespace std;
ifstream f ("sdo.in");
ofstream g ("sdo.out");
int v[NMAX], n, k;
inline int Poz(int ls, int ld)
{
int sw = 1;
while (ls < ld)
{
if (v[ls] > v[ld])
{
swap(v[ls], v[ld]);
sw = !sw;
}
ls += sw;
ld -= !sw;
}
return ls;
}
int quick(int ls, int ld)
{
int p;
do
{
p = Poz(ls, ld);
if (k < p) ld = p - 1;
else ls = p + 1;
} while (k != p);
return v[k];
}
int main()
{
f>>n>>k;
k--;
for (int i = 0; i < n; i++)
f>>v[i];
g<<quick(0, n - 1);
return 0;
}