Cod sursa(job #374272)

Utilizator ProcopliucProcopliuc Adrian Procopliuc Data 16 decembrie 2009 16:14:06
Problema Statistici de ordine Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
# include <stdio.h>
# include <stdlib.h>
int a[3000005],i,n,aux,k,x,y;



     void rez (int st,int dr)
      {
	 int i=st,j=dr,i1=0,j1=-1;
	 while (i<j)
	 {
	  if (a[i]>a[j])
	   {
	   aux=a[i];
	   a[i]=a[j];
	   a[j]=aux;

	   aux=i1;
	   i1=-j1;
	   j1=-aux;
	   }
	 i=i+i1;
	 j=j+j1;
	 }
	    if (i==k)
	    printf ("%i",a[i]);

	   else
	    {
	     if (i>k)
		 rez (st,i-1);
	      else
	       rez (i+1,dr);
	      }
	 }









int main ()
{
freopen ("sdo.in","r",stdin);
freopen ("sdo.out","w",stdout);
scanf ("%i%i",&n,&k);
for (i=1;i<=n;i++)
scanf ("%i",&a[i]);


rez (1,n);

return 0;
}