Series ℍ𝔾𝔹ℂ𝕡𝕡_'s - 2026 - Contest #1 - Chia hết cho 3

Xem PDF




Thời gian:
Pypy 3 2.0s
Python 3 2.0s
Bộ nhớ:
Pypy 3 512M
Python 3 512M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, C, C#, C++, JS, Java, Node JS, ObjectiveC, PHP, Pascal, Perl, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Swift
Điểm: 1300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: div3.inp Output: div3.out

Tại Đại Học Công Nghệ nổi tiếng \(Combinatoria\) có giáo sư p2o2HuaGiaBao đang giảng lý thuyết quan trọng về tổ hợp như sau:

  • \(C^{n}_k = \frac{n!}{k!\times (n-k)!}\), công thức này áp dụng để tính số lượng hoán vị để chọn \(k\) vật từ \(n\) vật phân biệt. (Chú ý: Mỗi hoán vị chỉ thay đổi thứ tự được coi là giống nhau)
  • \(P^{n}_k = \frac{n!}{(n-k)!}\), công thức này áp dụng để tính số lượng hoán vị để chọn \(k\) vật từ \(n\) vật phân biệt. (Chú ý: Mỗi hoán vị chỉ thay đổi thứ tự được coi là khác nhau)

Giáo sư này giao một bài tập cho học sinh rằng:

Đếm bộ \(3\) số khác nhau trong các số liên tiếp từ \(l\) đến \(r\) sao cho tổng của \(3\) số đó chia hết cho \(3\) trong \(Q\) truy vấn.
Vì kết quả có thể rất lớn nên mỗi kết quả phải chia lấy dư cho \(10^9 + 7\).

Vì bài tập tập này quá khó nên cần các bạn giúp đỡ ngay.

Input

  • Dòng \(1\) là một số nguyên dương \(Q\) (\(1\le Q\le 10^{6}\))
  • \(Q\) dòng tiếp theo, mỗi dòng gồm hai số nguyên dương \(l\)\(r\) (\(1\le l\le r \le 10^{18}\)) cách nhau bởi một khoảng cách.

Output

  • Gồm \(Q\) dòng, mỗi dòng là kết quả cho mỗi truy vấn tương ứng.

Example

Test 1

Input
1
1 10
Output
42

Scoring

  • Subtask 1 (\(25\)% points): \(1 \le l\le r \le 10^2\)\(1\le Q\le 1\)
  • Subtask 2 (\(25\)% points): \(1 \le l\le r \le 10\)\(1\le Q\le 10^5\)
  • Subtask 3 (\(25\)% points): \(1 \le l\le r \le 10^{5}\)\(1\le Q\le 10^5\)
  • Subtask 4 (\(25\)% points): Không có ràng buộc gì thêm.

Bình luận

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

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