duong3982oj Contest 03 - Số chính phương

Xem dạng PDF

Gửi bài giải


Điểm: 30,00 (OI)
Giới hạn thời gian: 2.5s
PyPy 3 4.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Cho ~Q~ truy vấn, mỗi truy vấn gồm một số nguyên dương ~N~.

Với mỗi truy vấn, bạn cần đếm số lượng các bộ số (~A~, ~B~, ~C~) (~1 \le A < B < C \le N~) sao cho ~A \times B~, ~B \times C~, ~C \times A~ đều là các số chính phương.

Nhắc lại, một số ~x~ là số chính phương khi và chỉ khi tồn tại một số nguyên ~y~ sao cho ~y^2 = x~.

INPUT

Dòng đầu tiên chứa số nguyên dương ~Q~ (~1 \le Q \le 5 \times 10^6~) là số lượng truy vấn.

~Q~ dòng tiếp theo, mỗi dòng bao gồm một số nguyên dương ~N~ (~1 \le N \le 10^7~) mô tả một truy vấn.

Dữ liệu đảm bảo kết quả của mỗi truy vấn không vượt quá ~2^{60} - 1~.

OUTPUT

Để giảm kích thước đầu ra, hãy in ra tổng XOR mọi kết quả qua từng truy vấn.

Phép ~XOR~ trong các ngôn ngữ có thể thực hiện như sau:

  • C++: ^.
  • Python: ^.
  • Pascal: XOR.
  • Java: ^.

SAMPLE INPUT

2
20
30

SAMPLE OUTPUT

9

Với test đầu tiên, có ~5~ bộ thỏa mãn là ~(1,4,9)~, ~(1,4,16)~, ~(1,9,16)~, ~(2,8,18)~, ~(4,9,16)~.

Tương tự như vậy, với test thứ hai có ~12~ bộ thỏa mãn.

Vì vậy, ta in ra ~5~ ~XOR~ ~12~ ~=~ ~9~.

SUBTASKS

Subtask Điểm Ràng buộc
1 ~20~ ~N \le 100~, ~Q \le 10~.
2 ~20~ ~N \le 10^3~, ~Q \le 10~.
3 ~20~ ~N \le 5 \times 10^5~.
4 ~40~ Không có ràng buộc gì thêm.

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.