fork(1) download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. bool compare(int a, int b)
  5. {
  6. int gcd_1 = __gcd(a, 1260);
  7. int gcd_2 = __gcd(b, 1260);
  8. if (gcd_1 == gcd_2) {
  9. return a < b;
  10. }
  11. return gcd_1 > gcd_2;
  12. }
  13.  
  14. vector<int> a;
  15.  
  16. int main()
  17. {
  18. int n;
  19. cin >> n;
  20. a.resize(n);
  21. for (int i = 0; i < n; ++i) {
  22. cin >> a[i];
  23. }
  24. sort(a.begin(), a.end(), compare);
  25. for (int i: a) {
  26. cout << i << " ";
  27. }
  28. cout << endl;
  29. return 0;
  30. }
Success #stdin #stdout 0s 4324KB
stdin
5
2 60 101 99 305
stdout
60 99 305 2 101