Cod sursa(job #2203947)

Utilizator Cristian1997Vintur Cristian Cristian1997 Data 13 mai 2018 20:10:56
Problema Statistici de ordine Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");

int v[4000001];
int pivot(int st, int dr)
{
    int i, j, di, dj, aux;
    i=st; j=dr; di=0; dj=1;
    while(i<j)
    {
        if(v[i]>v[j])
        {
            aux=v[i]; v[i]=v[j]; v[j]=aux;
            aux=di; di=dj; dj=aux;
        }
        i=i+di;
        j=j-dj;
    }
    return i;

}
void sor(int st, int dr,int k)
{
    int p;
    if(st<=dr)
    {
        p=pivot(st,dr);
        if(k==p) fout<<v[p];
        else if(p<k)
              sor(p+1,dr,k);
              else sor(st,p-1,k);
    }

}
int main()
{int i,n,k;
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>v[i];
sor(1,n,k);
return 0;
}