Số diệu kỳ

View as PDF

Submit solution

Points: 1200 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: MAGIC.INP
Output: MAGIC.OUT

Author:
Problem type
Allowed languages
C, C++, Pascal, pypy3, Python, scratch

Có lẽ rằng, sau kì thi tuyển sinh THPT chuyên Lê Quý Đôn, nguyenductp đức vẫn đang suy nên trong đầu luôn nghĩ về những điều tiêu cực (vì được 5.9 điểm tin và không thể góp mặt trong bài tập tên tuyển sinh 🗿).
Để giảm bớt căng thẳng và mệt mỏi, im_mayly đã ra 1 bài toán để thử thách cũng như giúp nguyenductp tìm lại được chính mình:

Cho Q truy vấn (1 \leq Q \leq 10^6), mỗi truy vấn cho n số nguyên dương (1 \leq n \leq 10^{18}) đếm số cặp số diệu kỳ của n biết rằng: một cặp số a, b được gọi là cặp số diệu kỳ khi cặp số đó thỏa mãn cả 2 điều kiện sau:

  • 1 \leq a \leq b < n
  • (a-1)(2b+a+1)+(b-1)(b+1-n)+(2+n)(b+1)+1=(n+1)^2

yêu cầu: đếm số cặp a, b thỏa mãn đề bài.

Input, Output và Subtasks

Input: (MAGIC.INP)

Dữ liệu vào từ tệp văn bản MAGIC.INP:

  • dòng đầu gồm 1 số nguyên dương là số lượng truy vấn Q (1 \leq Q \leq 10^6);
  • Q dòng tiếp theo: mỗi dòng gồm 1 số nguyên dương n là số cần kiểm tra yêu cầu: "cặp số diệu kỳ";
Output: (MAGIC.OUT)

Kết quả ghi ra tệp văn bản MAGIC.OUT:
- gồm Q dòng, mỗi dòng gồm 1 số nguyên là câu trả lời của truy vấn tương ứng đầu vào.

Subtasks
  • Subtask 1 (10%): 1\leq q \leq10 ; 1 \leq n \leq 10^{3};
  • Subtask 2 (10%): 1\leq q \leq10 ; 10^{3} \leq n \leq 10^{9};
  • Subtask 3 (20%): 1\leq q \leq10^{3} ; 1 \leq n \leq 10^{3};
  • Subtask 4 (20%): 1\leq q \leq10^{3} ; 10^{3} \leq n \leq 10^{6};
  • Subtask 5 (20%): 1\leq q \leq10^{3} ; 10^{6} \leq n \leq 10^{9};
  • Subtask 6 (20%): không có thêm ràng buộc nào được bổ sung.

Sample 1

Input (MAGIC.INP)
2
1
13
Output (MAGIC.OUT)
0
6
Notes

sau 1 khoảng thời gian, nguyenductp đã AC. Còn bạn? Bạn thua cả 1 thằng bel?
ôi không, người ra đề đã xóa giải thích rồi, bạn cố gắng nhé!


Comments