FANTABULOUS PAIRS
Gửi bài giải
Điểm:
50
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
1G
Tác giả:
Kiểu bài tập
Ngôn ngữ cho phép
C++, Python
Một mảng a₁, a₂, …, aₙ được gọi là FANTABULOUS nếu phần tử có giá trị lớn thứ 2 nằm ở bên trái phần tử có giá trị lớn nhất.
Ví dụ:
a = [1, 2, 13, 10, 15]
là một mảng FANTABULOUS vì phần tử lớn thứ 2 là 13 nằm ở bên trái phần tử lớn nhất là 15.
Gọi x là chỉ số của phần tử lớn thứ 2, y là chỉ số của phần tử lớn nhất. Cặp (x, y) được gọi là FANTABULOUS PAIR.
Với ví dụ trên, ta có:
(x, y) = (3, 5)
Chú ý: Dữ liệu đảm bảo n phần tử phân biệt!
Yêu cầu: Cho mảng A gồm n số nguyên dương a₁, a₂, …, aₙ. Hãy đếm số lượng FANTABULOUS PAIRS khác nhau của tất cả các đoạn con của mảng A.
INPUT
- Dòng đầu tiên chứa số nguyên dương n (1 ≤ n ≤ 10⁶);
- Dòng thứ hai chứa n số nguyên dương a₁, a₂, …, aₙ (1 ≤ aᵢ ≤ 10⁹).
OUTPUT
Ghi ra một số nguyên là số lượng FANTABULOUS PAIRS khác nhau.
Ví dụ
Sample Input
4
1 3 2 4
Sample Output
3
Giải thích
Các đoạn con tạo ra các FANTABULOUS PAIRS là:
[1, 3] -> (a, b) = (1, 2)
[2, 4] -> (a, b) = (1, 2)
[3, 2, 4] -> (a, b) = (1, 3)
[1, 3, 2, 4] -> (a, b) = (2, 4)
Các cặp khác nhau là:
(1, 2)
(1, 3)
(2, 4)
Vậy có 3 cặp FANTABULOUS PAIRS khác nhau.
Nhận xét