Pagini recente » Rating staic raluca (ral33x) | Istoria paginii algoritmiada-2019/runda-maraton/solutii/pisica | Cod sursa (job #2914891) | Profil Niunin_Matei | Cod sursa (job #1011666)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
int a[3000000];
int n,m;
inline void swap(int i, int j)
{
int t = a[i];
a[i] = a[j];
a[j] = t;
}
void sort(int st, int dr) {
int i = st, j = dr;
int t;
int pivot = a[(st+dr)/2];
while (i <= j) {
while (a[i] < pivot)
i++;
while (a[j] > pivot)
j--;
if (i <= j) {
swap(i,j);
i++;
j--;
}
};
if(j>m-j)
{
if (st < j)
sort(st, j);
if (i < dr)
sort(i, dr);
}
for(int i=0;i<8;i++)
{
cout<<a[i]<<" ";
}cout<<endl;
}
int main()
{
f>>n>>m;
for(int i=0;i<n;i++)
{
f>>a[i];
}
sort(1,n-1);
for(int i=0;i<n;i++)
{
cout<<a[i]<<" ";
}
g<<a[m-1];
return 0;
}