Pagini recente » Cod sursa (job #1471443) | Cod sursa (job #1587175) | Cod sursa (job #2482267) | Cod sursa (job #2783399) | Cod sursa (job #1560646)
#include<bits/stdc++.h>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
const int NMAX=3000005;
int n,k,a[NMAX];
void Qsort(int st,int dr)
{
if (st==dr) {fout<<a[st]<<"\n";return ;}
int i,poz,cnt=0,last;
poz=rand()%(dr-st+1);
poz+=st;
//punem la sfarsit
swap(a[poz],a[dr]);
last=st;
for (i=st;i<dr;i++)
if (a[i]<=a[dr])
{
swap(a[i],a[last]);
last++;
}
swap(a[dr],a[last]);
if (k<=last) Qsort(st,last);
else Qsort(last+1,dr);
}
int main()
{
int i;
fin>>n>>k;
for (i=1;i<=n;i++) fin>>a[i];
srand(time(0));
Qsort(1,n);
return 0;
}