Phá tính sắp xếp của mảng
Đề bài
Mô tả
Cho mảng gồm số nguyên không âm, được đánh chỉ số từ đến .
Mảng được gọi là đã sắp xếp nếu thỏa mãn ít nhất một trong hai điều kiện:
- (không giảm), hoặc
- (không tăng).
Bạn phải thực hiện đúng một phép hoán đổi hai phần tử ở hai vị trí khác nhau với điều kiện (không được hoán đổi hai giá trị bằng nhau, ngay cả khi chúng ở các vị trí khác nhau). Bắt buộc phải thực hiện phép hoán đổi, dù mảng ban đầu có thỏa mãn yêu cầu hay không.
Hãy tìm một cặp vị trí sao cho sau khi hoán đổi, mảng không còn ở trạng thái đã sắp xếp; hoặc thông báo rằng không tồn tại cặp như vậy.
Dữ liệu vào
- Dòng đầu chứa số nguyên .
- Dòng thứ hai chứa số nguyên không âm cách nhau bởi dấu cách.
Dữ liệu ra
In ra hai số nguyên và (, ) — chỉ số của hai vị trí cần hoán đổi. Nếu có nhiều cặp thỏa mãn, in ra bất kỳ cặp nào.
Nếu không tồn tại cặp vị trí nào thỏa mãn, in ra .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 1 1 |
-1 | Không thể chọn hai vị trí khác nhau. |
| 2 1 2 |
-1 | Hoán đổi cho mảng , vẫn ở trạng thái đã sắp xếp (không tăng). |
| 4 1 2 3 4 |
1 2 | Hoán đổi vị trí và được mảng — không tăng và cũng không giảm. |
| 3 1 1 1 |
-1 | Mọi cặp vị trí đều có giá trị bằng nhau, không được phép hoán đổi. |
Bình luận