Điểm:
300 (p)
Thời gian:
1.0s
Bộ nhớ:
1G
Input:
bàn phím
Output:
màn hình
Có một nhà toán học Italien đang nghiên cứu tính chất của một dãy số. Anh ấy có một dãy số gồm \(n\) số nguyên. Anh ấy bốc ra một lần \(3\) số bất kì trong dãy (không quan trọng thứ tự bốc \(3\) số này) và muốn biết xác suất để \(3\) số vừa bốc là một bộ số ziczac.
Bộ số ziczac là bộ số gồm \(3\) số \((i,j,k)\) sao cho \(A[i]>A[j]<A[k]\) và \(1 \leq i<j<k \leq n.\)
Input
- Dòng đầu tiên là số n.
- Dòng tiếp theo là dãy gồm n số nguyên.
Output
- Gồm một dòng duy nhất là xác suất cần tìm, làm tròn đến chữ số thập phân thứ \(6\).
Constraints
- \(0 \leq A_i \leq 10 ^ 9\)
Scoring
- Subtask \(1\) (\(70\%\) số điểm): \(3 \leq n \leq 100\).
- Subtask \(2\) (\(30\%\) số điểm): \(3 \leq n \leq 5000\)
Example
Test 1
Input
4
5 3 1 3
Output
0.500000
Note
Các bộ số có thể có: \((1,2,3); (1,2,4); (1,3,4); (2,3,4)\)
Trong đó \((2,3,4) (1,3,4)\) là một bộ số ziczac.
Vậy xác suất là \(2/4 = 0 \cdot 5\)
Bình luận
Bài này quy hoạch động được không anh OwO
Mình cũng không biết nữa, không biết thuật chuẩn bài này là như thế nào !