Cặp Số Min Max

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 1000 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một dãy số gồm \(n\) số nguyên dương \(a_1, a_2, \dots, a_n\).

Yêu Cầu: Bạn hãy đếm cặp \((i,j)\) thỏa mãn tất cả các điều kiện sau:

  • \(1 \le i < j \le n\).
  • \(\min(a_i,a_j) = i\).
  • \(\max(a_i,a_j) = j\).

Input

  • Dòng đầu tiên chứa số nguyên dương \(n\) (\(1 \le n \le 5 \times 10^5\)).
  • Dòng tiếp theo chứa dãy số nguyên dương \(a_1, a_2, \dots, a_n\) (\(1 \le a_i \le n\)).

Output

  • In ra kết quả bài toán sau khi thực hiện yêu cầu đề bài.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(1 \le n \le 5000\).
  • Subtask \(2\) (\(50\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
4
1 3 2 4
Output
2
Note

\(2\) cặp \((i,j)\) thỏa mãn là: \((1,4)\)\((2,3)\).

Bình luận (1)

Mới nhất
Tải bình luận...