SQRT Contest #01 - B - Cặp đôi "tam giác căn"

Xem dạng PDF

Gửi bài giải

Điểm: 10,00
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, Kotlin, Pascal, PyPy, Python, Scratch

Cho một dãy số nguyên không âm ~a_1, a_2, ..., a_n~. Một cặp số ~(i, j)~ được gọi là cặp đôi "tam giác căn" khi và chỉ khi ~(\sqrt{i}, \sqrt{j}, \sqrt{i + j})~ là bộ ba cạnh của một tam giác. Nhiệm vụ của bạn là đếm số cặp vị trí ~1 \le u \le v \le n~ mà ~(a_u, a_v)~ là một cặp đôi "tam giác căn".

Dữ liệu vào

  • Dòng đầu tiên gồm một số nguyên dương ~n~ ~(1 \le n \le 10^5)~.
  • Dòng tiếp theo gồm ~n~ số nguyên không âm ~a_1, a_2, ..., a_n~ ~(0 \le a_i \le 10^{18})~.

Dữ liệu ra

  • Một dòng duy nhất là phần dư của kết quả bài toán sau khi chia cho ~10^9 + 7~.

Ví dụ

Ví dụ 1
Dữ liệu vào
2
1 2
Dữ liệu ra
3
Giải thích

  • Hình trên là ví dụ về các tam giác có các bộ số cạnh ~(1, 1, \sqrt{2}), (1, \sqrt{2}, \sqrt{3})~ và ~(\sqrt{2}, \sqrt{2}, 2)~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.