Pagini recente » Borderou de evaluare (job #2697288) | Cod sursa (job #1899087)
#include <bits/stdc++.h>
using namespace std;
ifstream f("date.in");
ofstream g("date.out");
int n,v[1000],t,k;
int poz(int li,int ls)
{
int aux,i,j,ii=0,jj=-1;
i=li;
j=ls;
while(i<j)
{
if(v[i]>v[j])
{
aux=v[i];
v[i]=v[j];
v[j]=aux;
aux=ii;
ii=-jj;
jj=-aux;
}
i=i+ii;
j=j+jj;
}
return i;
}
/*
int qsort(int li,int ls)
{
if(li<ls)
{
int k=poz(li,ls);
qsort(li,k-1);
qsort(k+1,ls);
}
}
*/
int main()
{
f>>n;
for(int i=1;i<=n;i++)
f>>v[i];
t=(n/2)+1;
int li=1,ls=n;
do
{
k=poz(li,ls);
if(k>t)
ls=k-1;
if(k<t)
li=k+1;
}
while(k!=t);
g<<v[k]<<" "<<k;
/*
qsort(1,n);
for(int i=1;i<=n;i++)
g<<v[i]<<" ";
*/
return 0;
}