Đoạn con chính phương
Xem PDF
Điểm:
1900 (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ố nguyên dương \(a_1, a_2, \ldots, a_n\). Đếm số cặp \((l, r)\) sao cho \(1 \le l \le r \le n\) và \(a_l \times a_{l + 1} \times \ldots \times a_r\) là số chính phương.
Input
- Dòng đầu tiên gồm một số nguyên dương \(n\) (\(1 \le n \le 5 \cdot 10^5\)).
- Dòng tiếp theo gồm \(n\) số nguyên dương \(a_1, a_2, \ldots, a_n\) (\(1 \le a_i \le 5 \cdot 10^6\)).
Output
- Một dòng duy nhất gồm số cặp \((l, r)\) tìm được.
Example
Test 1
Input
5
1 2 8 4 4
Output
10
Note
- Ví dụ, với \(l = 1, r = 5\) ta có \(a_1 \times a_2 \times a_3 \times a_4 \times a_5 = 1 \times 2 \times 8 \times 4 \times 4 = 256 = 16^2\), do đó \((1, 5)\) là một cặp thỏa mãn.
- Các cặp \((l, r)\) thỏa mãn là: \((1, 1), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (4, 4), (4, 5), (5, 5)\).
Scoring
- \(10\%\) số điểm có \(1 \le n \le 10\) và \(1 \le a_i \le 12\).
- \(12\%\) số điểm tiếp theo có \(1 \le n \le 100\), trong đó:
- \(6\%\) số điểm có \(1 \le a_i \le 100\).
- \(6\%\) số điểm còn lại có \(1 \le a_i \le 10^5\).
- \(30\%\) số điểm tiếp theo có \(1 \le n \le 1000\), trong đó:
- \(8\%\) số điểm có \(a_i\) là số nguyên tố.
- \(8\%\) số điểm khác có \(1 \le a_i \le 100\).
- \(8\%\) số điểm khác có \(1 \le a_i \le 1000\).
- \(6\%\) số điểm còn lại có \(1 \le a_i \le 5 \cdot 10^6\).
- \(48\%\) số điểm còn lại có \(1 \le n \le 5 \cdot 10^5\), trong đó:
- \(10\%\) số điểm có \(a_i = 1\).
- \(10\%\) số điểm khác có \(a_i = 2\).
- \(8\%\) số điểm khác có \(1 \le a_i \le 2\).
- \(8\%\) số điểm khác có \(1 \le a_i \le 3\).
- \(6\%\) số điểm khác có \(1 \le a_i \le 100\).
- \(4\%\) số điểm khác có \(1 \le a_i \le 10^5\).
- \(2\%\) số điểm còn lại có \(1 \le a_i \le 5 \cdot 10^6\).
Kỳ thi:
- Kỳ thi sơ loại Young ICT năm 2024 - Bảng C2 (24 Tháng ba, 2024)
Bình luận