Cod sursa(job #1023433)

Utilizator AndreeaPanaitAndreea Elena Panait AndreeaPanait Data 6 noiembrie 2013 22:32:39
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>

using namespace std;

ifstream f("sdo.in");
ofstream g("sdo.out");

int i,n,k,v[3000005];

void statistici_ordin(int st,int dr)
{
 int min,max,mij;
 mij=v[(st+dr)/2];
 min=st;
 max=dr;

 while (min<max)

     {
        while (v[min]< mij) min++;
        while (v[max]>mij) max--;

        if (min<=max)
        {
            int aux=v[min];
            v[min]=v[max];
            v[max]=aux;
            min++;
            max--;
        }
                 }
        if (k<=max && st<max) statistici_ordin(st,max);
        if (k>=min && min<dr) statistici_ordin(min,dr);
}

int main()
{
 f>>n>>k;

 for(i=1;i<=n;i++) f>>v[i];

 statistici_ordin(1,n);

 g<<v[k];

 f.close();
 g.close();

return 0;
}