#include <cstdio> #include <cstdlib> #include <stack> #include <algorithm> using namespace std; const int MAXN = 1000; int val[MAXN]; int n; void InsertSort() { int current, l, r, mid; for (int i = 1;i < n;i++) { current = val[i]; l = 0; r = i; while (l < r) { mid = (l + r) / 2; if (val[mid] < current) l = mid + 1; else r = mid; } for (int j = i;j > l;j--) val[j] = val[j - 1]; val[l] = current; } } int main() { scanf("%d", &n); for (int i = 0;i < n;i++) { scanf("%d", &val[i]); } InsertSort(); for (int i = 0;i < n;i++) { printf("%d ", val[i]); } puts(""); return 0; } /************************************************************** Problem: 2172 User: admin Language: C++ Result: Accepted Time:11 ms Memory:1148 kb ****************************************************************/