Cod sursa(job #1555716)

Utilizator iuliaotilia26Mustea Iulia-Otilia iuliaotilia26 Data 23 decembrie 2015 14:50:28
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
using namespace std;
int v[3000000];
int main()
{
    int i,n,k,j,m,aux,p,q;
    ifstream f("sdo.in");
    ofstream g("sdo.out");
    f>>n>>k;
    for(i=1; i<=n; i++)
        f>>v[i];
    i=1;
    j=n;
    while(i<j)
      {
        p=i;
        q=j;
        m=v[(i+j)/2];
        while(p<=q)
            {
                while(v[p]<m)p++;
                while(v[q]>m)q--;
                if(p<=q)
                {
                    aux=v[p];
                    v[p]=v[q];
                    v[q]=aux;
                    p++;
                    q--;
                }
            }
        if(k<=q)j=q;
        else if(k>=p)i=p;
             else
                {
                    i=k;
                    j=k;
                }
      }
    g<<v[k];
    f.close();
    g.close();
    return 0;
}