1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
#define MAXN 100 int num[MAXN]; int n;
int (int *a, int n, int x) { int l = 0; int r = n-1; if(l > r) return 0; while(l <= r) { int mid = (l+r)>>1; if(x <= a[mid]) r = mid-1; else l = mid+1; } return l; }
int main() { int ins; scanf("%d",&n); for(int i = 0; i < n; ++i) { scanf("%d",&ins); int x = binarySearch(num, i, ins); for(int j = i+1; j > x; --j) num[j] = num[j-1]; num[x] = ins; for(int j = 0; j <= i; ++j) printf("%d ",num[j]); puts(""); } return 0; }
|
近期评论