Mivik

voices.cpp

Dec 13th, 2021 (edited)
558
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.48 KB | None | 0 0
  1. #include <ametus.h>
  2.  
  3. MI cin;
  4.  
  5. const int $n = 3005;
  6. const int $m = $n * ($n + 1) / 2;
  7.  
  8. int n, m, v[$n], w[$m];
  9. std::priority_queue<int, std::vector<int>, std::greater<int>> q;
  10. int main() {
  11.     cin > n; m = n * (n + 1) / 2;
  12.     E(i, m) cin > w[i];
  13.     std::sort(w + 1, w + m + 1);
  14.     int j = 1;
  15.     E(i, n) {
  16.         while (!q.empty() && q.top() == w[j]) q.pop(), ++j;
  17.         assert(j <= m);
  18.         v[i] = w[j]; int s = 0;
  19.         for (int k = i; k; --k) q.push(s += v[k]);
  20.         cout < v[i] < " \n"[i == n];
  21.     }
  22. }
  23.  
Add Comment
Please, Sign In to add comment