Bài 2. Tích các số (HSG12 2021-2022)

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: 800 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: MULM.inp Output: MULM.out

Viết chương trình tìm phần dư của tích các số từ \(l\) đến \(r\) chia cho \(2022\).

Input

  • Đọc từ file văn bản MULM.INP một dòng duy nhất chứa hai số nguyên \(l, r\) (\(1 \le l \le r \le 10^{18}\)).

Output

  • Ghi ra file văn bản MULM.OUT một số nguyên duy nhất là phần dư của tích các số \(l \cdot (l+1) \cdot (l+2) \cdot \ldots \cdot r\) chia cho \(2022\).

Scoring

  • Subtask \(1\) (\(80\%\) số điểm): \(r - l \le 10^6\).
  • Subtask \(2\) (\(20\%\) số điểm): \(1 \le l, r \le 10^{18}\).

Example

Test 1

Input
2019 2021
Output
2016
Note
  • Tích \((2019 \cdot 2020 \cdot 2021)\) chia \(2022\)\(2016\) nên in ra \(2016\).

Test 2

Input
2016 2019
Output
360
Note
  • Tích \((2016 \cdot 2017 \cdot 2018 \cdot 2019)\) chia \(2022\)\(360\) nên in ra \(360\).

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: