#pragma region include #include #include #include #include #include #include #include #include #include #include #define ALL(obj) (obj).begin(),(obj).end() #define RALL(obj) (obj).rbegin(),(obj).rend() #define REP(i, n) for(int i = 0; i < n; i++) #define REPR(i, n) for(int i = n; i >= 0; i--) #define FOR(i, m, n) for(int i = m; i < n; i++) #define MOD 1000000007 #define INF 1000000000 #define LLINF 4000000000000000000 using namespace std; typedef long long ll; typedef pair PII; typedef vector VI; typedef vector VVI; #pragma endregion //#define __DEBUG__ #ifdef __DEBUG__ #define dump(x) cerr << #x << " = " << (x) << " [" << __LINE__ << ":" << __FUNCTION__ << "] " << endl; // vector出力 template ostream& operator << (ostream& os, vector& v) { os << "{"; REP(i, (int)v.size()) { os << v[i] << (i < v.size() - 1 ? ", " : ""); } os << "}"; return os; } // pair出力 template ostream& operator << (ostream& os, pair& p) { return os << "(" << p.first << ", " << p.second << ")"; } // map出力 template ostream& operator << (ostream& os, map& map_var) { os << "{"; for (auto itr = map_var.begin(); itr != map_var.end(); itr++) { os << "(" << itr->first << ", " << itr->second << ")"; itr++; if (itr != map_var.end()) os << ", "; itr--; } os << "}"; return os; } // set 出力 template ostream& operator << (ostream& os, set& set_var) { os << "{"; for (auto itr = set_var.begin(); itr != set_var.end(); itr++) { os << *itr; ++itr; if (itr != set_var.end()) os << ", "; itr--; } os << "}"; return os; } #endif int main() { cin.tie(0); ios::sync_with_stdio(false); int n; cin >> n; VI a(n); for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 1; i < 2 * n - 3; i++) { for (int p = 0; p < n; p++) { int q = i - p; if (q < n && q > p && a[q] < a[p]) { swap(a[q], a[p]); } } } for (int i = 0; i < n; i++) { cout << a[i] << " "; } cout << endl; getchar(); getchar(); }