Contest giao lưu Tin học trẻ 2024 - Lần thứ Hai (Bảng A)

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 A - A nhân B (GL THT 23/24) 100 (p) 0.25s 512M
2 B - Bỏ chữ số (GL THT 23/24) 100 (p) 0.25s 512M
3 C - Chính phương (GL THT 23/24) 100 (p) 0.25s 512M
4 D - Dãy chia hết (GL THT 23/24) 100 (p) 0.25s 512M
5 E - Em tập đếm (GL THT 23/24) 100 (p) 0.25s 512M

1. A - A nhân B (GL THT 23/24)

Điểm: 100 (p) Thời gian: 0.25s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Bạn được cho hai số tự nhiên \(a, b\). Tìm hai số tự nhiên \(x, y\) sao cho \(a \le x < y \le b\) và \(x \times y\) là số lẻ và lớn nhất.

Input

  • Hai số tự nhiên \(a, b\) trên hai dòng \(0 \le a < b \le 10^9\).

Output

  • Hai số tự nhiên \(x, y\) sao cho \(x \times y\) lẻ lớn nhất. Nếu không tồn tại kết quả in ra -1. Nếu có nhiều kết quả in ra kết quả có \(y\) lớn nhất.

Example

Test 1

Input
1
4
Output
1 3
Note

\(1 \times 3 = 3\) là tích lẻ lớn nhất thu được.

Subtask

  • Subtask 1 (\(60\%\) số điểm): \(0 \le a \le b \le 500\).
  • Subtask 2 (\(40\%\) số điểm): Không có giới hạn gì thêm.

2. B - Bỏ chữ số (GL THT 23/24)

Điểm: 100 (p) Thời gian: 0.25s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một xâu gồm toàn các ký tự số (từ 0 đến 9), có thể có số 0 ở đầu. Bạn cần loại bỏ đi chính xác một ký tự của xâu sao cho số thu được khi loại bỏ các chữ số 0 vô nghĩa ở xâu còn lại là lớn nhất.

Input

  • Một xâu có ít nhất 2 và nhiều nhất \(10^6\) ký tự biểu diễn số (xâu này có thể có các chữ số 0 ở đầu).

Output

  • Một số duy nhất là số lớn nhất thu được sau khi bỏ hết các chữ số 0 vô nghĩa.

Example

Test 1

Input
123
Output
23
Note

Các số có thể thu được là 12, 13, 23 và số lớn nhất là 23.

Test 2

Input
100
Output
10
Note

Các số có thể thu được là 0, 10, 10 và số lớn nhất là 10.

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): có không quá 3 chữ số.
  • Subtask \(2\) (\(30\%\) số điểm): có không quá \(1000\) chữ số.
  • Subtask \(3\) (\(40\%\) số điểm): Không có giới hạn gì thêm.

3. C - Chính phương (GL THT 23/24)

Điểm: 100 (p) Thời gian: 0.25s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho \(n\), tính tổng số lượng các ước số chính phương của tất cả các số nguyên từ \(1\) đến \(n\). Cụ thể, xét các số \(1, 2, 3, \ldots, n\), hãy đếm tổng số lượng các ước số là số chính phương của tất cả các số này.

Input

  • Một dòng duy nhất gồm một số nguyên dương \(n \le 10^{12}\).

Output

  • Một dòng duy nhất gồm kết quả bài toán.

Example

Test 1

Input
5
Output
6
Note

Các số \(1, 2, 3, 5\) có ước chính phương duy nhất là \(1\), trong khi \(4\) có các ước chính phương là \(1\) và \(4\). Tổng số lượng các ước chính phương là \(1 + 1 + 1 + 2 + 1 = 6\).

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(1 \le n \le 10^3\).
  • Subtask \(2\) (\(30\%\) số điểm): \(1 \le n \le 10^6\).
  • Subtask \(3\) (\(30\%\) số điểm): Không có giới hạn gì thêm.

4. D - Dãy chia hết (GL THT 23/24)

Điểm: 100 (p) Thời gian: 0.25s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Một dãy chia hết là một dãy các số đôi một phân biệt \(a_1, a_2, \dots, a_k\) sao cho với mọi \(i\):

  • \(L \le a_i \le R\).
  • \(a_{i+1}\) chia hết cho \(a_i\) nếu \(i < k\).

Bạn được cho hai số nguyên dương \(L, R\), yêu cầu:

  • Xác định độ dài của dãy chia hết dài nhất (tìm \(k\) lớn nhất có thể).
  • Trả lời xem có bao nhiêu dãy có độ dài như vậy.

Input

  • Hai số nguyên dương \(L, R\) trên hai dòng (\(1 \le L \le R \le 10^{18}\)).

Output

  • Hai số nguyên dương cách nhau một dấu cách: số lớn nhất có thể và số dãy có độ dài \(k\). Vì kết quả có thể rất lớn nên chỉ cần in ra \(9\) chữ số cuối của kết quả.

Example

Test 1

Input
3
16
Output
3 2
Note

Các dãy chia hết thỏa mãn là \(3, 6, 12\) và \(4, 8, 16\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(R < 3 \times L\).
  • Subtask \(2\) (\(30\%\) số điểm): \(R < 5 \times L\).
  • Subtask \(3\) (\(20\%\) số điểm): \(R \le 1000\).
  • Subtask \(4\) (\(20\%\) số điểm): Không có giới hạn gì thêm.

5. E - Em tập đếm (GL THT 23/24)

Điểm: 100 (p) Thời gian: 0.25s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Nhân đang tập đếm các số \(1, 2, 3, 4, 5, \dots\) Nhận thấy việc này quá dễ, cộng với việc vừa mới học được phép nhân, Nhân quyết định đếm các số chính phương (là những số bằng một số nguyên nhân với chính nó) và viết chúng ra giấy và thu được một dãy dài có các số đầu tiên là \(149162536\dots\) Nhân muốn biết chữ số thứ \(n\) của dãy là bao nhiêu. Các bạn hãy tính giúp Nhân nhé.

Input

  • Một số nguyên dương duy nhất \(n\) (\(1 \le n \le 10^{18}\)).

Output

  • Chữ số thứ \(n\) của dãy.

Example

Test 1

Input
10
Output
4
Note

Các chữ số đầu tiên của dãy là \(14916253649\dots\)

Subtask

  • Subtask 1 (\(30\%\) số điểm): \(n \le 1000\).
  • Subtask 2 (\(30\%\) số điểm): \(n \le 10^{12}\).
  • Subtask 3 (\(40\%\) số điểm): Không có giới hạn gì thêm.