Advertisement
clown1337

Untitled

May 13th, 2024
586
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.80 KB | None | 0 0
  1. #ifdef ONPC
  2. #define _GLIBCXX_DEBUG
  3. #endif
  4. #include <bits/stdc++.h>
  5.  
  6. using namespace std;
  7. /// Pragmas ///
  8. /// define ///
  9. #define pii pair<int, int>
  10. #define pll pair<ll, ll>
  11. #define V vector
  12. #define MP make_pair
  13. #define vi vector<int>
  14. #define ff first
  15. #define ss second
  16. #define vl vector<long long>
  17. /// typedef ///
  18. typedef long long ll;
  19. typedef long double ld;
  20. typedef unsigned long long ull;
  21.  
  22. /// solve ///
  23. mt19937 rng(random_device{}());
  24. uniform_int_distribution<int> distribution(INT32_MIN, INT32_MAX);
  25.  
  26. void heapify(vector<int> &arr, int N, int i) {
  27.   int largest = i;
  28.   int l = 2 * i + 1;
  29.   int r = 2 * i + 2;
  30.   if (l < N && arr[l] > arr[largest])
  31.     largest = l;
  32.   if (r < N && arr[r] > arr[largest])
  33.     largest = r;
  34.   if (largest != i) {
  35.     swap(arr[i], arr[largest]);
  36.     heapify(arr, N, largest);
  37.   }
  38. }
  39.  
  40. void heapSort(vector<int> &arr, int N) {
  41.   for (int i = N / 2 - 1; i >= 0; i--)
  42.     heapify(arr, N, i);
  43.   for (int i = N - 1; i > 0; i--) {
  44.     swap(arr[0], arr[i]);
  45.     heapify(arr, i, 0);
  46.   }
  47. }
  48.  
  49. void solve() {
  50.   int n = 100000000;
  51.   vector<int> q(n);
  52.   for (int &x : q)
  53.     x = distribution(rng);
  54.     heapSort(q, n);
  55. // #ifdef ONPC
  56. //   for (int &x : q)
  57. //     cout << x << ' ';
  58. // #endif
  59. }
  60.  
  61. signed main() {
  62.   ios_base::sync_with_stdio(false);
  63.   cin.tie(NULL);
  64.   cout.tie(NULL);
  65.   freopen("input.txt", "r", stdin);
  66.   freopen("output.txt", "w", stdout);
  67.   int t = 1;
  68. // cin >> t;
  69. #ifdef ONPC
  70.   std::cout << std::unitbuf;
  71. #endif
  72.   while (t--)
  73.     solve();
  74. #ifdef ONPC
  75.   cout << endl << "__________________________" << endl;
  76. #endif
  77. #ifdef ONPC
  78.   cout << endl
  79.        << "finished in " << clock() * 1.0 / CLOCKS_PER_SEC << " sec" << endl;
  80.   cerr << endl
  81.        << "finished in " << clock() * 1.0 / CLOCKS_PER_SEC << " sec" << endl;
  82. #endif
  83.   return 0;
  84. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement