Dãy đặc biệt

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: 1300 (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 gồm \(n\) phần tử: \(a_1, a_2, \dots, a_n\). Một phần tử \(a_i\) được gọi là đặc biệt nếu tồn tại một phần tử khác \(a_j\) \((i \ne j)\) sao cho \(a_i + a_j\) là một số chính phương.

Yêu cầu

Đếm số lượng phần tử đặc biệt trong dãy.

Input

  • Dòng 1: Gồm một số nguyên \(n\).
  • Dòng 2: Gồm \(n\) số nguyên \(a_1, a_2, \dots, a_n\).

Output

  • In ra một số nguyên duy nhất là số lượng phần tử đặc biệt tìm được.

Constraints

  • \(1 \le n \le 2 \cdot 10^5\)
  • \(0 \le a_i \le 10^6\)

Example

Test 1

Input
5
1 3 5 6 10
Output
4
Note

Các cặp thỏa mãn:

  • \(1 + 3 = 4\) (số chính phương)
  • \(3 + 6 = 9\) (số chính phương)
  • \(6 + 10 =16\) (số chính phương)
    \(\Rightarrow\) Các phần tử đặc biệt là: \(1, 3, 6, 10\).

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(n \le 4000\).
  • Subtask \(2\) (\(50\%\) số điểm): \(n \le 2 \cdot 10^5\).

Bình luận

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

Không có bình luận nào.

Kỳ thi: