fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <cmath>
  5.  
  6. using namespace std;
  7.  
  8. int so_lan_thao_tac_toi_thieu_de_tang_trung_vi(int n, vector<int>& arr) {
  9. sort(arr.begin(), arr.end()); // Bước 1
  10. int vi_tri_trung_vi = ceil(n / 2.0) - 1; // Bước 2
  11. int trung_vi = arr[vi_tri_trung_vi];
  12.  
  13. int so_lan_thao_tac = 0;
  14. for (int i = vi_tri_trung_vi; i >= 0; --i) { // Bước 3
  15. if (arr[i] < trung_vi) {
  16. so_lan_thao_tac += trung_vi - arr[i];
  17. }
  18. }
  19.  
  20. return so_lan_thao_tac;
  21. }
  22.  
  23. int main() {
  24. int so_luong_test;
  25. cin >> so_luong_test; // Số lượng test case
  26.  
  27. for (int t = 0; t < so_luong_test; ++t) {
  28. int n;
  29. cin >> n; // Độ dài của mảng
  30. vector<int> arr(n);
  31.  
  32. for (int i = 0; i < n; ++i) {
  33. cin >> arr[i]; // Các phần tử của mảng
  34. }
  35.  
  36. cout << so_lan_thao_tac_toi_thieu_de_tang_trung_vi(n, arr) << endl; // Xuất kết quả cho mỗi test case
  37. }
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 5308KB
stdin
8
3
2 2 8
4
7 3 3 1
1
1000000000
5
5 5 5 4 5
6
2 1 2 3 1 4
2
1 2
2
1 1
4
5 5 5 5
stdout
0
2
0
1
2
0
0
0