Cod sursa(job #1044702)
| Utilizator | Data | 30 noiembrie 2013 11:37:30 | |
|---|---|---|---|
| Problema | Statistici de ordine | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <fstream>
#include <stdlib.h>
int k,a[3000000];
using namespace std;
ifstream h("sdo.in");
ofstream g("sdo.out");
void quicksort(int f,int n)
{int i=f,j=n,aux,p;
p=a[i+rand()%(j-i+1)];
while (i<=j)
{
while (a[i]<p)
i++;
while (a[j]>p)
j--;
if (i<=j)
{
aux=a[i];
a[i]=a[j];
a[j]=aux;
i++;
j--;
}
}
if (k<=j)
quicksort(i,j);
else if(k>=i) quicksort(i,n);
}
int main()
{int n,i;
h>>n>>k;
for (i=1;i<=n;i++) h>>a[i];
quicksort(1,n);
g<<a[k];
h.close();
g.close();
return 0;
}