#CCBCHBAHAI0000046. Chèn vào mảng tăng đã cho để vẫn tăng (Insert into a Strictly Increasing Array)
Chèn vào mảng tăng đã cho để vẫn tăng (Insert into a Strictly Increasing Array)
Chèn vào mảng tăng đã cho để vẫn tăng (Insert into a Strictly Increasing Array)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho mảng số nguyên tăng nghiêm ngặt
và số nguyên không trùng với bất kỳ phần tử nào của mảng.
Hãy chèn vào mảng để thu được mảng mới có phần tử và vẫn tăng nghiêm ngặt.
Đặt
$$p=\min\left(\{i\mid 0\le i<n,\ a_i>x\}\cup\{n\}\right).$$Khi đó phải được chèn tại chỉ số ; các phần tử từ trở đi của mảng cũ dịch sang phải một vị trí.
Hãy in kích thước mới và mảng kết quả.
Input
Dòng đầu chứa hai số nguyên và . Dòng thứ hai chứa số nguyên tăng nghiêm ngặt .
Output
Dòng đầu in . Dòng thứ hai in mảng sau khi chèn .
Subtask
Subtask 1 (100 điểm): ; ; ; với mọi .
Ví dụ
Input
5 6
1 3 5 8 10
Output
6
1 3 5 6 8 10
Giải thích
Phần tử đầu tiên lớn hơn là ở chỉ số , nên . Chèn trước cho mảng vẫn tăng nghiêm ngặt.