Cod sursa(job #1014585)

Utilizator vlad.florescu94FMI Florescu Vlad - Adrian vlad.florescu94 Data 22 octombrie 2013 21:47:43
Problema Statistici de ordine Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include<ctime>
#include<cstdlib>
#include<algorithm>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
bool ok=1;
long k,n,v[3000001],i,j,t;
long poz(long st,long dr)
{long piv;
piv=v[st];
 while(st<dr)
  {if(v[st]>v[dr])
     swap(v[st],v[dr]);
   if(v[st]==piv)
        dr--;
   else
      st++;
  }
  return st;
}
void jbaf(long p,long q)
{long radar;
 if(p<q)
  {radar=poz(p,q);
   if(radar==k)
      g<<v[radar];
    else
      if(radar<k)
        jbaf(radar+1,q);
      else
        jbaf(p,radar-1);
  }
}
int main()
{  f>>n>>k;
   for(i=1;i<=n;i++)
     f>>v[i];
   jbaf(1,n);
  return 0;
}