Cod sursa(job #1019872)
Utilizator | Tudor Rotarus tudor.rotarus | Data | 1 noiembrie 2013 01:42:07 |
---|---|---|---|
Problema | Statistici de ordine | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
long n,k,a[2000000];
long poz(int p,int u)
{long aux,piv,x;
piv=a[p];
while(p<u)
{
if(a[p]>a[u])
{
aux=a[p];
a[p]=a[u];
a[u]=aux;
}
if(a[p]==piv)
u--;
else p++;
}
x=p;
return x;
}
int quick(int p,int u)
{long x;
if(p<u)
{
x=poz(p,u);
quick(p,x-1);
quick(x+1,u);
}
}
int main()
{long i,x;
f>>n>>k;
for(i=1;i<=n;i++)
{
f>>a[i];
}
quick(1,n);
g<<a[k];
g.close();
return 0;
}