DHBB 2023 - CLK - 10 - Sắp xếp

Xem dạng PDF

Gửi bài giải

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

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

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Hôm nay Tí và Tèo chơi một trò chơi về số nguyên. Tí có một dãy số nguyên không âm ~a_1, a_2, \dots, a_n~. Tí cần sắp xếp dãy theo thứ tự không giảm chỉ bằng thao tác sau: chọn hai chỉ số ~i, j~ ~(1 \le i < j \le n)~, sau đó đảo ngược đoạn từ ~i~ đến ~j~.

Tí muốn Tèo sắp xếp dãy ~a_1, a_2, \dots, a_n~ theo yêu cầu trên với số thao tác không vượt quá ~2 \cdot n~. Tèo chưa biết cách thực hiện nên mong muốn bạn giúp đỡ.

Input

  • Dòng đầu tiên chứa số nguyên dương ~n~;

  • Dòng thứ hai gồm ~n~ số nguyên không âm ~a_1, a_2, \dots, a_n~ ~(a_i \le 10^9)~.

Output

  • Dòng đầu tiên ghi số nguyên ~s~ là số thao tác cần thực hiện;

  • ~s~ dòng tiếp theo, mỗi dòng ghi hai số nguyên ~i, j~ mô tả một thao tác đảo ngược đoạn từ ~i~ đến ~j~.

Scoring

Subtask Ràng buộc
1 ~n \le 10^3~
2 ~n \le 10^5~

Sample Input 1

4
0 1 0 1

Sample Output 1

1
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.