Cod sursa(job #1014658)

Utilizator miu.teoMiu Teodor miu.teo Data 22 octombrie 2013 23:23:29
Problema Statistici de ordine Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include<fstream>
#include <ctime>
#include <cstdlib>
using namespace std;
void quickSort(int arr[], int left, int right)
 {
  int i = left, j = right;
  int tmp;
  int pivot = arr[rand()%(left+right)];

  /* partition */
  while (i <= j) {
        while (arr[i] < pivot)
              i++;
        while (arr[j] > pivot)
              j--;
        if (i <= j) {
              tmp = arr[i];
              arr[i] = arr[j];
              arr[j] = tmp;
              i++;
              j--;
    }
}
/* recursion */
if (left < j)
    quickSort(arr, left, j);
if (i < right)
        quickSort(arr, i, right);
}
int main()
{int n,*p,i=0,k;
    ifstream f("sdo.in");
    ofstream f2("sdo.out");
    f>>n;f>>k;
    p=new int[n];
    while(f>>p[i])
        i++;
        quickSort(p,0,n);
        f2<<p[k-1];

    return 0;
}