[CSES 2075] Reversal Sorting

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python

Bạn có một mảng chứa một hoán vị của các số nguyên ~1,2,\dots,n~. Nhiệm vụ của bạn là sắp xếp mảng theo thứ tự tăng dần bằng cách đảo ngược các đoạn con. Bạn có thể xây dựng bất kỳ phương án nào có tối đa ~n~ lần đảo ngược.

Dữ liệu vào

Dòng đầu tiên chứa một số nguyên ~n~: kích thước của mảng. Các phần tử của mảng được đánh số ~1,2,\dots,n~.

Dòng tiếp theo chứa ~n~ số nguyên ~x\_1,x\_2,\dots,x\_n~: nội dung của mảng.

Kết quả

Đầu tiên in ra một số nguyên ~k~: số lần đảo ngược.

Sau đó, in ra ~k~ dòng mô tả các lần đảo ngược. Mỗi dòng chứa hai số nguyên ~a~ và ~b~: bạn đảo ngược đoạn con từ vị trí ~a~ đến vị trí ~b~.

Giới hạn

  • ~1 \le n \le 2 \cdot 10^5~

Ví dụ

Dữ liệu vào:

4
2 3 1 4

Kết quả:

2
1 3
2 3

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.