Cod sursa(job #855602)

Utilizator costel93FMI - Dumea Eduard Constantin costel93 Data 15 ianuarie 2013 11:44:29
Problema Statistici de ordine Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.1 kb
#include <stdlib.h>
#include <time.h>
#include<fstream>
 
 
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
 
int n, k, v[3000001];
 
void sort(int st,int dr)
{
    if(st<dr)
    {
        srand ( time(NULL) );
         
        int rnd, m, nr1, nr2, nr3, val;
         
        m=dr-st+1;
         
        rnd=rand()%m+st;
			
        int i,j;
                 
        i=st;
        j=dr;
		val=v[rnd];

        while(i<=j)
        {
            while( v[i] < val )
				i++;
            while( v[j] > val )
				j--;
            if( i <= j )
            {
                int aux;
                aux=v[i];
                v[i]=v[j];
                v[j]=aux;
                i++;
                j--;
            }
        }
        if( ( i-j == 2 ) && ( k == i-1 ) )
			g<<v[i-1]<<" ";
		else 
			if(k>=i) 
				sort(i,dr);
			else sort(st,j);
     
    }
    else g<<v[st]<<" ";
}
         
         
 
 
int main()
{
    f>>n;
    f>>k;
     
    int i;
    for(i=1;i<=n;i++)
        f>>v[i];
     
    sort(1,n);
     
    return 0;
}