Mô tả
Tổ chăm sóc khách hàng Viettel xử lý hai luồng tin nhắn song song: luồng chính từ khách hàng gửi tới và luồng phụ là tin tự động từ hệ thống. Để cuộc hội thoại hiển thị tự nhiên trên ứng dụng My Viettel, đội kỹ thuật muốn đan xen hai luồng này theo một chu kỳ lấy mẫu cố định.
Quy tắc trộn rất gọn: bạn sẽ lần lượt rút k tin nhắn liên tiếp từ luồng chính, sau đó rút k tin nhắn liên tiếp từ luồng phụ, rồi lại quay sang luồng chính, cứ thế tiếp tục cho đến khi một luồng hết tin. Phần tin nhắn dư thừa của luồng còn lại sẽ được ghép nguyên vẹn vào cuối danh sách kết quả.
Nhiệm vụ của bạn: cho trước danh sách luồng chính, danh sách luồng phụ và số nguyên dương k, hãy xuất ra danh sách tin nhắn sau khi trộn theo quy tắc trên. Mỗi tin nhắn được biểu diễn bằng một mã số nguyên.
Đầu vào
Gồm ba tham số:
main: danh sách số nguyên — luồng tin nhắn chính.sub: danh sách số nguyên — luồng tin nhắn phụ.k: số nguyên dương — số lượng tin nhắn lấy liên tiếp mỗi lượt.
Đầu ra
Trả về một danh sách số nguyên thể hiện thứ tự tin nhắn sau khi trộn.
Ràng buộc
- 0 ≤ độ dài
main≤ 10^4. - 0 ≤ độ dài
sub≤ 10^4. - 1 ≤ k ≤ 100.
- Mỗi phần tử trong
mainvàsublà số nguyên có giá trị tuyệt đối ≤ 10^9.
Ví dụ
Ví dụ 1
Đầu vào: main = [101, 102, 103, 104, 105], sub = [201, 202, 203, 204], k = 2
Quá trình trộn diễn ra như sau:
- Lượt 1 — lấy 2 tin từ luồng chính: 101, 102; lấy 2 tin từ luồng phụ: 201, 202.
- Lượt 2 — lấy 2 tin từ luồng chính: 103, 104; lấy 2 tin từ luồng phụ: 203, 204.
- Luồng phụ đã hết, phần dư của luồng chính là 105 ghép vào cuối.