[Buổi 19][Con trỏ][ADV] Bài 1: Mở rộng mảng động


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types
Allowed languages
C++

Mở rộng mảng động

Bối cảnh

Một danh sách raw dynamic array đang có n phần tử và cần nối thêm m phần tử. Không được dùng vector.

Bạn phải cấp phát vùng nhớ mới, copy dữ liệu cũ, giải phóng vùng cũ rồi chuyển ownership.

Yêu cầu

  1. Đọc n, m; đọc n phần tử ban đầu và m phần tử mới.
  2. Cấp phát mảng cũ có n phần tử.
  3. Cấp phát mảng mới kích thước n+m.
  4. Copy dữ liệu cũ và phần thêm vào.
  5. delete[] vùng cũ, cập nhật pointer sang vùng mới.
  6. In toàn bộ n+m phần tử rồi cleanup.

Input

Dòng 1 n m; dòng 2 n số; dòng 3 m số. Dòng có thể rỗng khi số lượng 0.

Output

Một dòng gồm n+m phần tử.

Ràng buộc

0 ≤ n,m, n+m ≤ 5000.

Ví dụ 1

Input

3 2
1 2 3
4 5

Output

1 2 3 4 5

Giải thích

Mảng mới chứa phần cũ 1 2 3 rồi phần thêm 4 5.

Ví dụ 2

Input

0 3

7 8 9

Output

7 8 9

Giải thích

n=0 nên kết quả chỉ gồm phần mới 7 8 9.

Thông tin học tập

  • Module: M06
  • Buổi: B19
  • Loại bài: ADVANCED
  • Độ khó: Hard
  • Concepts: dynamic arrays, reallocation, copying, ownership, delete[]
  • Giới hạn kiến thức: B01-B19
  • Time limit: 2 second(s)
  • Memory limit: 256 MB
  • Point: 100

Comments

There are no comments at the moment.

Zalo