fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. auto sortedPoints(const std::vector<int> &points) {
  5. std::vector<int> toReturn;
  6.  
  7. const int size = points.size();
  8. int maxCount{1};
  9. int max = points[0];
  10.  
  11. for (int i = 1; i < size; i++) {
  12. if (points[i] > max) {
  13. max = points[i];
  14. maxCount = { 1 };
  15. }
  16. else if (points[i] == max) {
  17. ++maxCount;
  18. }
  19. }
  20.  
  21. for (int i = 0; i < maxCount; i++) {
  22. toReturn.push_back(max);
  23. }
  24.  
  25. std::vector<int> ntb;
  26.  
  27. for (int i = 0; i < size; i++) {
  28. if (points[i] != max)
  29. ntb.push_back(points[i]);
  30. }
  31.  
  32. for (int i = 1; i < ntb.size(); i++) {
  33. for (int j = 1; j < ntb.size(); j++) {
  34. if (ntb[i] < ntb[i - 1]) {
  35. int t = ntb[i];
  36. ntb[i] = ntb[i - 1];
  37. ntb[i - 1] = t;
  38. }
  39. }
  40. }
  41.  
  42. for (int i = 0; i < ntb.size(); i++) {
  43. toReturn.push_back(ntb[i]);
  44. }
  45.  
  46. return toReturn;
  47. }
  48.  
  49. int main(){
  50. int D;
  51. std::cin >> D;
  52.  
  53. for (int i = 0; i < D; i++) {
  54. int N;
  55. std::cin >> N;
  56.  
  57. std::vector<int> points(N);
  58. for (auto& i : points) {
  59. std::cin >> i;
  60. }
  61.  
  62. auto res = sortedPoints(points);
  63.  
  64. for (auto i : res) {
  65. std::cout << i << " ";
  66. }
  67. std::cout << "\n";
  68. }
  69. }
  70.  
  71.  
Success #stdin #stdout 0s 4372KB
stdin
3
5
1 2 3 4 5
5
4 5 2 3 5
2
1 1
stdout
5 1 2 3 4 
5 5 2 3 4 
1 1