LQDOJ CUP 2022 - Final Round - LUCKY

kitsune

Lì xì đầu năm cho trẻ em và người già là một phong tục phổ biến trong những ngày đầu năm mới của dân tộc ta. Phong bao lì xì là tượng trưng cho sự kín đáo, không so bì hơn thua. Màu đỏ của phong bao lì xì tượng trưng cho màu của như ý, cát tường, thịnh vượng, của niềm hy vọng và sự may mắn. Người được nhận lì xì luôn tin rằng những phong bao này sẽ đem lại hạnh phúc và tài lộc trong suốt cả năm. Ý nghĩa của một bao lì xì không nằm ở giá trị tiền bên trong mà là ở những thông điệp tốt đẹp mà nó gửi gắm, là món quà tinh thần dành cho những người xung quanh.

Tết năm nay, gia đình Mai đã chuẩn bị \(N\) bao lì xì được để theo một thứ tự từ \(1\) đến \(N\), mỗi bao lì xì sẽ chứa một lượng tiền nguyên dương. Để các bao lì xì được ý nghĩa hơn, mẹ của Mai đã quyết định ước chung lớn nhất của lượng tiền bỏ vào trong các bao phải nằm trong khoảng \([A, B]\). Cùng lúc đó, bố của Mai lại muốn bội chung nhỏ nhất của chúng phải nằm trong khoảng \([C, D]\). Vì hai người rất hòa thuận nên họ muốn tìm một số cách bỏ tiền vào các bao lì xì mà thỏa mãn cả hai điều kiện trên rồi chọn ra một cách theo ý họ.

Yêu cầu: Bạn hãy giúp gia đình Mai đếm số lượng cách thỏa mãn. Hai cách được xem là khác nhau khi tồn tại một bao có giá trị tiền khác nhau trong hai cách ở cùng thứ tự.

Input

  • Dòng đầu tiên chứa số nguyên \(n\) (\(1 \leq N \leq 10^{18}\)) là số lượng bao lì xì.
  • Dòng thứ hai chứa hai số nguyên \(A\)\(B\) (\(1 \leq A \leq B \leq 10^{18}\)) là điều kiện của mẹ Mai.
  • Dòng thứ ba chứa hai số nguyên \(C\)\(D\) (\(1 \leq C \leq D \leq 10^{18}\), \(D \leq A \cdot 10^7\)) là điều kiện của bố Mai.

Output

  • Ghi ra một dòng duy nhất chứa một số nguyên là phần dư của số lượng cách bỏ tiền vào các bao lì xì mà thỏa mãn cả hai điều kiện trong phép chia cho \(10^9 + 7\).

Scoring

  • Subtask \(1\) (\(20\%\) số điểm): \(N = 2\)\(D \leq 10^3\).
  • Subtask \(2\) (\(30\%\) số điểm): \(N = 2\).
  • Subtask \(3\) (\(30\%\) số điểm): \(D \leq A \cdot 10^5\).
  • Subtask \(4\) (\(20\%\) số điểm): Không có ràng buộc gì thêm.

Example

Test 1

Input
2
1 2
5 7
Output
10
Note

Những cách thỏa mãn là \([1, 5]\), \([1, 6]\), \([1, 7]\), \([2, 3]\), \([2, 6]\), \([3, 2]\), \([5, 1]\), \([6, 1]\), \([6, 2]\)\([7, 1]\).

...More

high

PhanDinhKhoi

Khôi vừa viết một ứng dụng hẹn hò mang tên Fake love. Ứng dụng đang có \(n\) bạn nữ, \(m\) bạn nam đang sử dụng, biết rằng 2 người nam nữ sẽ chỉ thấy hợp nhau nếu độ chênh lệch cân nặng của họ không vượt quá \(k\). Qua một số thuật toán, ứng dụng của của Khôi sẽ xếp các nam nữ hợp nhau thành các couple. Vì muốn biết ứng dụng của mình đã tối tưu chưa, nên Khôi hỏi bạn có nhiều nhất bao nhiêu couple có thể có (1 nam chỉ có ghép thể với 1 bạn nữ, ngược lại cũng vậy).

Input

  • \(n, m, k(1 \leq n, m\leq 2*10^5, 0 \leq k \leq 10^9)\).
  • \(n\) số nguyên, \(1 \leq a_i\leq10^9\) cân nặng của các bạn nữ.
  • \(m\) số nguyên, \(1 \leq b_i\leq10^9\) cân nặng của các bạn nam.

Output

  • số couple.

Example

Test 1

Input
4 3 5
60 45 80 60
30 60 75 
Output
2
...More

Cánh diều - COUNT100 - Đếm số phần tử nhỏ hơn 100

anhkha2003, Flower_On_Stone

Cho \(N\) số nguyên. Hãy đếm xem trong dãy có bao nhiêu phần tử có giá trị nhỏ hơn hoặc bằng \(100\) ?

Input

  • Dòng đầu ghi số nguyên \(N\) \((1 ≤ N ≤ 10^6)\)

  • Dòng thứ hai ghi \(N\) số nguyên cách nhau bởi dấu cách \((|a_{i}| ≤ 10^6)\)

Output

  • Ghi một số nguyên là số lượng phần tử có giá trị nhỏ hơn hoặc bằng \(100\) trong dãy.

Example

Test 1

Input
5
19 120 999 0 -120 
Output
3
...More

Người bạn của Henry

jumptozero

\(Kaninho\) là hậu duệ đời thứ 15 của 2 đại dòng dõi Kante và Mourinho, đồng thời cũng là bạn chung lớp với \(Henry\). Vì biết \(Henry\) là người học giỏi về lập trình, nên một hôm sang nhà \(Henry\) chơi, \(Kaninho\) đã đố cậu ấy một bài toán như sau:

Cho xâu \(S\) được biểu diễn dưới dạng sau: \(a_0a_1a_2 \cdots a_n\) trong đó \(a_i\) là kí tự số (tức là \(a_i \in\){0 \(\ldots\) 9}). \(Kaninho\) đã xây dựng xâu \(T\) từ xâu \(S\) và được biểu diễn dưới dạng: \(b_0b_1b_2 \cdots b_n\) trong đó \(b_i\) là kí tự số (tức là \(b_i \in\){0 \(\ldots\) 9}) theo quy tắc sau:

\(b_0\) là một kí tự số bất kì thuộc tập {0 \(\ldots\) 9}
\(b_i\)=\(\frac{b_{i - 1}+a_i}{2}\) hoặc \(b_i=\frac{b_{i-1} + a_i}{2}\) với mọi \(1 \leq i \leq n\).

Hỏi có bao nhiêu xâu \(T\) khác nhau được sinh ra từ \(S\) theo quy tắc trên và \(T \neq S\)
Là người bạn tốt của \(Henry\), hãy giúp anh ấy một tay nhé !

Input

  • Một dòng duy nhất chứa xâu \(S\) \((1 \leq |S| \leq 50)\)

Output

  • Số lượng xâu \(T\) khác nhau được sinh ra từ \(S\)

Example

Test 1

Input
1 
Output
9
Note
  • Ứng với \(S=1\). Ta có thể sinh ra \(9\) xâu \(T\) khác nhau và tất cả chúng đều khác \(S=1\). Đó là \(T \in\){\(′0′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′\)}
...More