Pagini recente » Cod sursa (job #1977630) | Cod sursa (job #97815) | Cod sursa (job #2567481) | Cod sursa (job #470436) | Cod sursa (job #1021280)
#include <fstream>
#include <iostream>
int v[3000005], n, k;
using namespace std;
void qsm(int s, int d)
{
if(s>d)
return;
int piv=(s+d)/2;
int vp=v[piv];
int i=s, j=d,t;
while(i<=j)
{
while(v[i]<vp)
i++;
while(v[j]>vp)
j--;
if(i<=j)
{
t=v[i];
v[i]=v[j];
v[j]=t;
i++;
j--;
}
}
if(k>j)
qsm(i, d);
else
qsm(s, j);
}
int main(int argc, char *argv[])
{
ifstream fin("sdo.in");
ofstream fout("sdo.out");
fin>>n>>k;
int i;
k--;
for(i=0;i<n;i++)
fin>>v[i];
qsm(0, n-1);
fout<<v[k];
for(i=0;i<n;i++)
cout<<v[i]<<" ";
system("PAUSE");
return EXIT_SUCCESS;
}