Hàng đợi
Mô tả
Tại tổng kho Viettel Post, mỗi đơn hàng cần đi qua một chuỗi tầng dịch vụ trước khi rời kho. Mỗi tầng sẽ bóc tách và đóng gói lại dữ liệu theo một quy trình đặc biệt, tạo thành một tầng mã mới ngắn hơn.
Quy trình đóng gói như sau:
- Ban đầu, bạn có một hàng đợi chứa
nphần tử số nguyên. - Tại tầng 1, tầng 3, tầng 5, ... (tầng lẻ): bạn lấy phần tử ở đầu hàng đợi, đưa vào mã đơn, rồi loại bỏ phần tử đó khỏi hàng đợi.
- Tại tầng 2, tầng 4, tầng 6, ... (tầng chẵn): bạn lấy phần tử ở cuối hàng đợi, đưa vào mã đơn, rồi loại bỏ phần tử đó khỏi hàng đợi.
- Quá trình tiếp tục cho đến khi hàng đợi rỗng.
Mã đơn cuối cùng là chuỗi các phần tử theo đúng thứ tự được lấy ra. Nhiệm vụ của bạn là mô phỏng quy trình trên và tìm mã đơn cuối cùng.
Đầu vào
- Dòng đầu tiên chứa số nguyên
n(1 ≤ n ≤ 1000) — số lượng phần tử trong hàng đợi ban đầu. - Dòng thứ hai chứa
nsố nguyêna[0], a[1], ..., a[n-1](-10^9 ≤ a[i] ≤ 10^9) — các phần tử trong hàng đợi theo thứ tự từ đầu đến cuối.
Đầu ra
- In ra
nsố nguyên trên một dòng, cách nhau bởi dấu cách — đây là mã đơn cuối cùng theo thứ tự các phần tử được lấy ra.
Ràng buộc
- 1 ≤ n ≤ 1000.
- -10^9 ≤ a[i] ≤ 10^9.
- Đảm bảo hàng đợi ban đầu có ít nhất một phần tử.
Ví dụ
Ví dụ 1
Đầu vào:
5 3 1 4 1 5
Đầu ra:
3 5 1 4 1
Giải thích:
Hàng đợi ban đầu: [3, 1, 4, 1, 5] (đầu là 3, cuối là 5).
- Tầng 1 (lẻ): lấy đầu → 3. Hàng đợi còn
[1, 4, 1, 5]. - Tầng 2 (chẵn): lấy cuối → 5. Hàng đợi còn
[1, 4, 1]. - Tầng 3 (lẻ): lấy đầu → 1. Hàng đợi còn
[4, 1]. - Tầng 4 (chẵn): lấy cuối → 1. Hàng đợi còn
[4]. - Tầng 5 (lẻ): lấy đầu → 4. Hàng đợi rỗng.
Mã đơn: 3 5 1 1 4.