Cod sursa(job #3125173)

Utilizator Bursuctang69Tudor Costac Bursuctang69 Data 2 mai 2023 10:12:52
Problema Statistici de ordine Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <climits>
#include <cstring>
#include <fstream>
using namespace std;
ifstream fin("sdo.in");
ofstream fout("sdo.out");
unsigned int v[3000001],n,k,sol;
unsigned int pivot(int st,int dr){
int dst=0;
int ddr=1;
 int mid=(st+dr)/2;
swap(v[st],v[mid]);
while(st<dr){

    if(v[st]>v[dr])
    {
        swap(dst,ddr);
        swap(v[st],v[dr]);
    }

    st=st+dst;
    dr=dr-ddr;
}

return st;
}
unsigned int quicksort(int st,int dr){
if(st<dr)
{
    int p=pivot(st,dr);
      if(p==k)
         return v[p];
      else
        if(k<p)
           return quicksort(st,p-1);
     else
        return quicksort(p+1,dr);
}

}
int main(){

fin>>n>>k;
for(int i=1;i<=n;i++){
    fin>>v[i];

}
fout<<quicksort(1,n);


}