Nghịch thế cực đại
Xem dạng PDF
Gửi bài giải
Điểm:
100,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python, Rust
Cho một dãy số nguyên gồm ~n~ phần tử ~a_1, a_2, \dots, a_n~. Khoảng cách giữa hai phần tử ~a_i~ và ~a_j~ (với ~i < j~) được tính bằng công thức ~j - i~.
Một cặp phần tử ~(a_i, a_j)~ được gọi là một cặp nghịch thế nếu chúng đứng sai thứ tự so với mảng tăng dần, tức là ~i < j~ nhưng ~a_i > a_j~.
Yêu cầu: Hãy tìm khoảng cách lớn nhất có thể đạt được của một cặp nghịch thế trong dãy số đã cho.
Dữ liệu vào
- Dòng đầu tiên là số nguyên ~n~ ~(2 \le n \le 10^5)~.
- Dòng tiếp theo bao gồm ~n~ số nguyên ~a_i~ ~(1 \le a_i \le 10^9)~.
- Dữ liệu luôn đảm bảo dãy số tồn tại ít nhất một cặp nghịch thế.
Kết quả
- In ra một số nguyên duy nhất là khoảng cách lớn nhất tìm được.
Ví dụ
Input
6
5 4 3 6 1 2
Output
5
Giải thích: Cặp nghịch thế có khoảng cách xa nhất là ~a_1~ và ~a_6~ (~5 > 2~). Khoảng cách là ~6 - 1 = 5~.
Giới hạn
- ~2 \le n \le 10^5~.
- ~1 \le a_i \le 10^9~.
- Luôn tồn tại ít nhất một cặp nghịch thế.
Subtask:
- 40% số test tương ứng với 40% số điểm có ~1 \le n \le 10^3~.
- 40% số test tương ứng với 40% số điểm tiếp theo có ~1 \le a_i \le 2~.
- 20% số test tương ứng với 20% số điểm còn lại không có giới hạn gì thêm.
Đang tải...