Advertisement
ke_timofeeva7

e

Dec 20th, 2021
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.32 KB | None | 0 0
  1. /*
  2. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠤⠲⠦⠉⠉⠉⠏⠉⠒⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  3. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡠⠲⠃⢀⣤⠀⠀⠀⠲⠂⠀⠠⠆⠀⠙⢄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  4. ⠀⠀⠀⠀⠀⠀⠀⠀⢀⡔⠁⣤⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  5. ⠀⠀⠀⠀⠀⠀⠀⢀⠊⠁⠀⢁⡴⠚⠉⣉⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠠⠤⠔⠒⡄⠀⠀⠀⠀⠀⠀
  6. ⠀⠀⠀⠀⠀⠀⠀⡆⢰⠆⠀⠋⣠⠔⠉⠁⣀⡠⠄⠒⠂⠀⠀⠀⠀⠀⠀⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠔⠊⠁⠀⠀⠀⠀⠀⣠⡴⠀⠀⠀⠀⠀⠀⠀
  7. ⠀⠀⠀⠀⠀⠀⢠⡆⠀⠀⠀⡜⠁⣠⠔⠋⢁⡔⠒⠒⠤⡀⠀⠀⠀⠀⡐⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠎⠀⠀⠀⢀⣀⣤⣶⡾⠋⠀⠀⠀⠀⠀⠀⠀⠀
  8. ⠀⠀⠀⠀⠀⠀⠀⡆⡶⠀⠀⢀⡜⠁⢀⣀⢸⠀⠀⠀⠀⠈⢆⠀⠀⡜⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠤⠊⠁⠀⢀⡀⣴⡿⠿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  9. ⠀⠀⠀⠀⠀⠀⠀⠰⡀⠀⠀⠘⠀⡞⠁⠀⠉⢇⠀⣿⣄⠀⠈⡆⠀⠕⠒⠉⣉⡒⡄⠀⠀⠀⠀⢀⠤⠊⠁⢀⡠⠔⠊⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  10. ⠀⠀⠀⠀⠀⠀⠀⠀⠑⢄⡀⠀⠀⢇⠀⣤⡄⠈⢢⡈⠻⡖⢀⡞⣀⠔⠊⠁⠀⠀⠉⠐⠒⠠⢎⢁⡠⠔⠂⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  11. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠉⠉⠉⢂⠘⢿⣦⡇⠉⠓⢶⡫⠞⠁⣀⣤⣤⣤⣤⣤⣤⣤⠴⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  12. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢡⠦⠭⡇⠀⡠⠊⠀⣠⣮⣬⣿⣿⣿⣿⣿⣯⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  13. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠁⢀⠔⡧⠊⠀⢀⡜⠁⠙⣿⣿⣿⡿⠟⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  14. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣀⣡⠎⠀⠀⢠⠊⠀⠀⠀⣸⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  15. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⠃⠀⠀⣰⣧⣀⣀⡠⣴⣿⣿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  16. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢧⣤⣤⣾⡿⠿⠋⠁⠀⢹⣿⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  17. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠁⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  18. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  19. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⠿⠛⠛⠛⠛⠻⢿⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  20. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀⠀⠀⠀⠀⠀⡸⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  21. ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⠁⡰⢤⣀⣀⡄⢠⠞⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
  22. */
  23.  
  24. #include <iostream>
  25. #include <string>
  26. #include <sstream>
  27. #include <cmath>
  28. #include <memory.h>
  29. #include <algorithm>
  30. #include <stack>
  31. #include <deque>
  32. #include <iomanip>
  33. #include <stdio.h>
  34. #include <queue>
  35. #include <map>
  36. #include <set>
  37. #include <unordered_map>
  38. #include <unordered_set>
  39. #include <random>
  40. #include <ctime>
  41. #include <cstdlib>
  42. #define int long long
  43. #define pii pair <int, int>
  44. #define pb push_back
  45. #define all(vc) vc.begin(), vc.end()
  46. #define fir first
  47. #define sec second
  48. #define endl "\n"
  49. #define un unsigned
  50. #define INF 1000000009
  51. #define double long double
  52. using namespace std;
  53.  
  54. const int N = 1000009, R = 1 << 20, MOD = 1e9 + 7, ABC = 26;
  55.  
  56. void solve()
  57. {
  58. int n;
  59. cin >> n;
  60.  
  61. vector<int> vc(n);
  62. map<int, int> cnt;
  63.  
  64. for (int i = 0; i < n; i++)
  65. {
  66. cin >> vc[i];
  67. cnt[vc[i]]++;
  68. }
  69.  
  70. sort(all(vc));
  71.  
  72. if (vc[0] != 0)
  73. {
  74. cout << 0 << " ";
  75.  
  76. for (int i = 0; i < n; i++)
  77. {
  78. cout << -1 << " ";
  79. }
  80.  
  81. cout << endl;
  82. return;
  83. }
  84. vector<int> vcc = vc;
  85.  
  86. multiset<int> hui;
  87.  
  88. for (auto i : cnt)
  89. {
  90. for (int l = 0; l < i.second - 1; l++)
  91. {
  92. hui.insert(i.fir);
  93. }
  94. }
  95.  
  96. vcc.erase(unique(all(vcc)), vcc.end());
  97.  
  98. vector<int> pref(n);
  99.  
  100. pref[0] = vcc[0];
  101.  
  102. int ii = 1;
  103. int j = 1;
  104.  
  105. for (int i = 1; i <= n; i++)
  106. {
  107. if (ii < vcc.size() && vcc[ii] <= i)
  108. {
  109. pref[i] = pref[i - 1] + vcc[ii];
  110. ii++;
  111. }
  112. else
  113. {
  114. auto lol = hui.upper_bound(i);
  115.  
  116. if (lol == hui.begin())
  117. {
  118. break;
  119. }
  120.  
  121. lol--;
  122.  
  123. pref[i] = pref[i - 1] + *lol;
  124. hui.erase(lol);
  125. }
  126. }
  127.  
  128. if (*lower_bound(all(vc), 0) == 0)
  129. {
  130. auto k = upper_bound(all(vc), 0) - lower_bound(all(vc), 0);
  131.  
  132. cout << k << " ";
  133. }
  134.  
  135. int i = 1;
  136.  
  137. for (; i <= n; i++)
  138. {
  139. int cnt = 0;
  140.  
  141. auto k = lower_bound(all(vc), i) - vc.begin();
  142. auto kk = lower_bound(all(vcc), i) - vcc.begin();
  143.  
  144. if (k < i)
  145. {
  146. cout << -1 << " ";
  147. break;
  148. }
  149.  
  150. int ans = max(0LL, (i - 1) * i / 2 - pref[i - 1]);
  151.  
  152. auto kok = upper_bound(all(vc), i) - vc.begin();
  153.  
  154. cout << ans + (kok - k) << " ";
  155. }
  156.  
  157. for (; i < n; i++)
  158. {
  159. cout << -1 << " ";
  160. }
  161.  
  162. cout << endl;
  163. return;
  164. }
  165.  
  166. signed main()
  167. {
  168. ios_base::sync_with_stdio(false);
  169. cin.tie(0);
  170. cout.tie(0);
  171. srand(time(0));
  172.  
  173. int t;
  174. cin >> t;
  175.  
  176. for (int i = 0; i < t; i++)
  177. {
  178. solve();
  179. }
  180.  
  181. return 0;
  182. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement