Pagini recente » Cod sursa (job #2813175) | Istoria paginii runda/herman/clasament | Cod sursa (job #2079983) | Monitorul de evaluare | Cod sursa (job #1081469)
#include <fstream>
#include <ctime>
#include <cstdlib>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int k, a[3000001];
void quicksort(int *a, int dr, int st)
{
int p, j, aux, i;
if (dr < st)
{
p=dr;
i=dr;
j=st;
while(i < j)
{
while((a[i] <= a[p]) && (i<st))
i++;
while(a[j] > a[p])
j--;
if(i < j)
swap (a[i], a[j]);
}
swap (a[p], a[j]);
if (k == j)
{
g<<a[j];
return;
}
else
if (j<k)
quicksort(a, j+1, st);
else
quicksort(a, dr, j-1);
}
else g << a[dr];
return;
}
int main()
{
int n,i;
f >> n >> k;
for (i=1; i<=n; i++)
f >> a[i];
quicksort(a,1,n);
return 0;
}