Gửi bài giải
Điểm:
1,30 (OI)
Giới hạn thời gian:
0.2s
Giới hạn bộ nhớ:
256M
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho ~n~ là một số ngẫu nhiên trong đoạn ~[A,B]~ với ~A~, ~B~ là 2 số nguyên dương và ~(1 \le A \le B \le 10^9)~. Chemthan và RR chơi 1 trò chơi với ~n~ tờ giấy được viết số 1 trên bàn. Ở mỗi lượt chemthan sẽ chọn 2 tờ giấy viết số ~x~, ~y~ trên bàn, RR sẽ bỏ 2 tờ giấy này vào sọt rác và thay thế bằng tờ giấy viết giá trị ~x + y~ hoặc ~|x - y|~.
Trò chơi sẽ dừng nếu 1 trong 2 trường hợp xảy ra:
- Có 1 số lớn hơn tổng của tất cả những số còn lại
- Tất cả các số đều bằng 0
Cuối cùng RR phải dọn các tờ giấy này nên RR muốn số lượng giấy còn lại trên bàn là nhỏ nhất còn chemthan muốn số lượng là lớn nhất. In ra kết quả là expected số lượng giấy RR phải dọn nếu cả 2 đều chơi tối ưu. Có thể chứng minh được kết quả là một phân số ~P/Q~ (với ~P~,~Q~ nguyên tố cùng nhau) cần in ra giá trị ~P \times Q^{-1}~ mod ~(10^9+7)~
Input
- Gồm một dòng 2 số ~A~, ~B~
Output
- Kết quả của bài toán
Sample Input 1
2 2
Sample Output 1
1
Sample Input 2
2 3
Sample Output 2
500000005
Subtask
- ~40\%~ số test có ~1 \le A \le B \le 100~
- ~60\%~ số test có ~1 \le A \le B \le 10^9~
Bình luận