fork download
  1.  
  2. #include <cstdlib>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7. const int sz = 1000000;
  8. int arr[sz];
  9.  
  10. int random(int a, int b) {
  11. return a + rand() % (b - a + 1);
  12. }
  13.  
  14. void quickSort(int *arr, int l, int r) {
  15. if (l >= r) return;
  16.  
  17. int i = l, j = r;
  18. int X = arr[random(l, r)];
  19.  
  20. while (i < j) {
  21. while (arr[i] < X) i++;
  22. while (arr[j] > X) j--;
  23. if (i <= j) swap(arr[i++], arr[j--]);
  24. }
  25.  
  26. quickSort(arr, i, r);
  27. quickSort(arr, l, j);
  28. }
  29.  
  30.  
  31. bool check() {
  32. for (int i=0; i<sz-1; i++){
  33. if (arr[i] > arr[i + 1]) return false;
  34. }
  35. return true;
  36. }
  37.  
  38. int main(){
  39. for (int i=0; i<sz; i++) {
  40. arr[i] = random(1, 1000000);
  41. }
  42.  
  43. quickSort(arr, 0, sz - 1);
  44.  
  45. cout<<(check() ? "OK": "FAIL");
  46.  
  47. return 0;
  48. }
  49.  
Success #stdin #stdout 0.14s 7508KB
stdin
Standard input is empty
stdout
OK