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 = n / 2; // Bước 2
  11. if(n%2==1){
  12. vi_tri_trung_vi++;
  13. }
  14. int trung_vi = arr[vi_tri_trung_vi];
  15.  
  16. int so_lan_thao_tac = 0;
  17. for (int i = vi_tri_trung_vi; i >= 0; --i) { // Bước 3
  18. if (arr[i] < trung_vi) {
  19. so_lan_thao_tac += trung_vi - arr[i];
  20. }
  21. else{
  22. break;
  23. }
  24. }
  25.  
  26. return so_lan_thao_tac;
  27. }
  28.  
  29. int main() {
  30. int so_luong_test;
  31. cin >> so_luong_test; // Số lượng test case
  32.  
  33. for (int t = 0; t < so_luong_test; ++t) {
  34. int n;
  35. cin >> n; // Độ dài của mảng
  36. vector<int> arr(n);
  37.  
  38. for (int i = 0; i < n; ++i) {
  39. cin >> arr[i]; // Các phần tử của mảng
  40. }
  41.  
  42. cout << so_lan_thao_tac_toi_thieu_de_tang_trung_vi(n, arr) << endl; // Xuất kết quả cho mỗi test case
  43. }
  44.  
  45. return 0;
  46. }
  47.  
Success #stdin #stdout 0.01s 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
0
0
0
0
0
0
0