Pagini recente » Cod sursa (job #2467470) | Cod sursa (job #2699027) | Cod sursa (job #159794) | Rating cojocaru andrei (cojocaru.andrei) | Cod sursa (job #2323447)
#include <iostream>
#include <fstream>
using namespace std;
int x[100];
int h=1;
int v[100];
void merges(int l,int r)
{
if(l==r)
return;
int m=(l+r)/2;
merges(l,m);
merges(m+1,r);
int i=l;
int j=m+1;
while(i<=m && j<=r)
{
if(v[i]>v[j])
{
x[h]=v[j];
h++;
j++;}
else
{
x[h]=v[i];
h++;
i++;
}
}
if(i==m+1 && j<=r)
{
for(int f=j;f<=r;f++)
{
x[h]=v[f];
h++;
}
}
else
{
if(i<=m && j==r+1)
for(int f=i;f<=m;f++)
{
x[h]=v[f];
h++;
}
}
for(i=r;i>=l;i--)
{
h--;
v[i]=x[h];
}
}
int main()
{
ifstream f("sdo.in");
ofstream g("sdo.out");
int n,k;
f>>n>>k;
for(int i=1;i<=n;i++)
f>>v[i];
merges(1,n);
for(int i=1;i<=n;i++)
cout<<v[i]<<" ";
g<<v[k]<<endl;
return 0;
}