Cod sursa(job #630724)

Utilizator pykhNeagoe Alexandru pykh Data 6 noiembrie 2011 14:14:29
Problema Statistici de ordine Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
 #include<fstream>
using namespace std; 
 #define F(i,a,b) for(i=a;i<=b;i++)  
 #define N 3000005  
ifstream f("sdo.in");
ofstream g("sdo.out");
 int v[N],n,K;  
 void citire()  
     {  
     int i;  
     f>>n>>K; 
     F(i,1,n)  
     f>>v[i];  
     }  
   
 int pozitie(int i,int j)  
     {  
     int ii=0,jj=-1,aux;  
     while(i<j)  
         {  
         if(v[i]>v[j])  
             {  
             aux=v[i];  
             v[i]=v[j];  
             v[j]=aux;  
             aux=-ii;  
             ii=-jj;  
             jj=aux;  
             }  
         i+=ii;  
         j+=jj;  
         }  
   
     return i;  
     }  
   
 void quick(int i,int j)  
     {int k;  
     if(i<j)  
         {  
         k=pozitie(i,j);  
         quick(i,k-1);  
         quick(k+1,j);  
         }  
     }  
   
 void afisare()  
     {  
         g<<v[K];  
     }  
 int main()  
     {  
	 citire();  
     quick(1,n);  
     afisare();  
     return 0;  
     }