Cod sursa(job #635156)
Utilizator | Sunt emo sunt_emo | Data | 18 noiembrie 2011 16:22:58 |
---|---|---|---|
Problema | Statistici de ordine | Scor | 90 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.48 kb |
#include <fstream>
#define N 3000010
using namespace std;
std::ifstream in ("sdo.in");
std::ofstream out ("sdo.out");
int a[N],n,k,i,z;
void qsort (int l,int r) {
if (r-l<=1||l>k||r<=k) return;
int y=l,v=a[r-1];
for (i=l; i<r-1; i++)
if (a[i]<v) {
z=a[y];
a[y++]=a[i];
a[i]=z;
}
a[r-1]=a[y];
a[y]=v;
qsort (l,y);
qsort (y,r);
}
int main () {
in>>n>>k; k--;
for (i=0; i<n; i++) in>>a[i];
qsort (0,n);
out<<a[k]<<"\n";
return 0;
}