Pagini recente » Cod sursa (job #771465) | Cod sursa (job #739914) | Cod sursa (job #1889992) | Cod sursa (job #3174850) | Cod sursa (job #455795)
Cod sursa(job #455795)
#include <fstream>
using namespace std;
ifstream fin; ofstream fout;
long a[3000002],i,n,k;
inline long partition (long l,long r) {
long z=l;
swap (a[(l+r)/2],a[r]);
for (long u=l; u<r; u++)
if (a[u]<a[r]) {
swap (a[u],a[z]);
z++;
}
swap (a[z],a[r]);
return z;
}
void qsort (long x,long y) {
if (x<=y) {
long np=partition (x,y);
if (np==k) fout<<a[np]<<endl;
if (np<k) qsort (np+1,y);
if (np>k) qsort (x,np-1);
}
}
int main () {
fin.open ("sdo.in"); fout.open ("sdo.out");
fin>>n>>k;
for (i=1; i<=n; i++) fin>>a[i];
qsort (1,n);
fin.close (); fout.close ();
return 0;
}