Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, Python
Cho dãy số nguyên dương ~a_1, a_2, ..., a_n~.
Yêu cầu
Hãy đếm số cặp ~(i, j)~ với ~1 \le i < j \le n~ thoả mãn tính chất: Số ~a_i \times a_j~ là số chính phương (số nguyên dương ~x~ được gọi là số chính phương nếu tồn tại số nguyên ~y~ sao cho ~x = y^2~).
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng đầu tiên chứa số nguyên dương ~n~ ~(n \le 10^6)~.
- Dòng thứ hai chứa các số nguyên ~a_1, a_2, ..., a_n~ ~(1 \le a_i \le 10^6\ \forall \ i = 1, 2, ..., n)~ cách nhau bằng dấu trống.
Dữ liệu đầu ra
Gồm một số nguyên duy nhất là số cặp tìm được
Ràng buộc dữ liệu
- 40% số test ứng với 40% số điểm của bài có ~n \le 2000~.
- 40% số test tiếp theo ứng với 40% số điểm của bài có ~n > 2000, a_i \le 10^4~.
- 20% số test còn lại ứng với 20% số điểm của bài có ~n > 2000, a_i \le 10^6~.
Ví dụ
Ví dụ 1
INPUT
5
2 8 3 75 27
OUTPUT
4
Bình luận
vote laf nhuw naof
bên cạnh avatar có cái mũi tên lên hc xuống đấy
Bình luận này đã bị ẩn vì có quá nhiều phản ứng tiêu cực. Nhấn để xem.
hi ae
=>
ea ih