Pagini recente » Cod sursa (job #2251780) | Cod sursa (job #682549) | Cod sursa (job #1793279) | Borderou de evaluare (job #2100073) | Cod sursa (job #1044863)
#include <iostream>
#include<fstream>
#include<cstdlib>
using namespace std;
void interschimbare(int &a,int &b)
{int aux;
aux=a;
a=b;
b=aux;
}
void quicksort(int v[],int left,int right,int k)
{int i,j,p;
i=left;
j=right;
p=v[rand()%(i+j)];
while(i<=j)
{
while(v[i]<p)
i++;
while(v[j]>p)
j--;
if(i<=j)
{
interschimbare(v[i],v[j]);
i++;j--;
}
}
if(p==v[k]&&k>i&&k<j)
return;
if(j>left)
quicksort(v,left,j,k);
if(i<right)
quicksort(v,i,right,k);
}
int main()
{int k,n=0,*v;
ifstream f("sdo.in");
ofstream f2("sdo.out");
f>>n;
v=new int[n];
f>>k;
for(int i=0;i<n;i++)
f>>v[i];
quicksort(v,0,n-1,k-1);
f2<<v[k-1];
return 0;
}