🔥Ôn tập (𝕋ℍ𝕋 𝔹𝕒̉𝕟𝕘 𝔹 & ℍ𝕊𝔾 𝕍𝕆𝕀)♨️

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Số NICE TIFOOD 20 (p) 1.0s 256M
2 Tìm bộ số 20 (p) 0.5s 256M
3 Số FRIEND 20 (p) 1.0s 256M
4 MAXAA 20 (p) 0.1s 256M
5 Largest product 30 (p) 1.0s 256M
6 Kí tự của người Napoli 30 (p) 1.0s 256M
7 SQIUF GAME 50 (p) 2.0s 256M
8 SQIUF GAME 2 50 (p) 1.0s 256M

1. Số NICE TIFOOD

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

Gọi \(T\) là tổng chữ số của \(N\). Số \(N\) được gọi là số NICE TIFOOD nếu hàng đơn vị của \(T\) bằng \(9\) . Cho số nguyên dương \(N\) kiểm tra xem \(N\) có phải là số NICE TIFOOD \(?\)

Input

  • Số nguyên dương \(N\) (\(1\) \(\le\) \(N\) \(\le\) \(10^9\)).

Output

Nếu là số NICE TIFOOD thì in ra \(Yes\) ngược lại thì in ra \(No\) .

Example

Test 1

Input
27
Output
Yes

Test 2

Input
111
Output
No

2. Tìm bộ số

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

Cho một số nguyên \(N\). Hãy tìm hai số nguyên \(a, b\) thỏa mãn:

  • \(a \times b = N\);
  • \(c = |a - b|\) nhỏ nhất.

Input

  • Gồm một dòng chứa số nguyên \(N\) (\(|N| \le 10^{12}\)).

Output

  • Gồm một dòng chứa số nguyên \(c\) nhỏ nhất tìm được.

Note

  • 60% số test có \(|N| \le 10^3\).
  • 20% số test có \(|N| \le 10^6\).
  • 20% số test còn lại không có ràng buộc thêm.

Example

Test 1

Input
12
Output
1

3. Số FRIEND

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

Vào ngày Tết Nam được bố mẹ cho du xuân khi đến nơi ở đó có Lễ hội tặng phần thưởng là bao lì xì 1 tỷ VND cho ai dành được giải nhất vì nhà Nam rất hứng thú với phần thưởng nên đã cử Nam đi thi. Ở phần thi thứ nhất Nam có câu hỏi như sau.

Tìm số FRIEND. Có một số bạn đã bỏ cuộc vì không biết số FRIEND là số gì nhưng Nam thì khác nhờ được thầy Huy đã dạy về số này (Định nghĩa số FRIEND là số có tổng chữ số là số nguyên tố và số đó là số chính phương).

Yêu cầu

  • Cho số nguyên dương \(N\), hãy kiểm tra xem số đó có phải là số FRIEND không. Vì Nam rất lười nên đã dành câu hỏi đó cho bạn là một lập trình viên, hãy giúp Nam kiểm tra xem số đó có phải là số FRIEND không.

Input

  • Số nguyên dương \(N\) (\(1 \le N \le 10^{12}\)).

Output

  • In ra YES nếu số đó là số FRIEND, nếu không thì in ra NO.

Example

Test 1

Input
16
Output
YES
Note
  • Vì \(16 = 4^2\) là một số chính phương.
  • Và \(1 + 6 = 7\).
  • \(7\) là số nguyên tố.
  • \(\Rightarrow\) Kết luận \(16\) là số FRIEND.

Scoring

  • \(40\%\) số điểm: \(N \le 10^9\) và \(N\) là số chính phương.
  • \(60\%\) số điểm: Không ràng buộc gì thêm.

4. MAXAA

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

Cho ba phép tính \(+\), \(-\), \(\times\) và một số nguyên \(A\) hãy điền một trong ba phép tính vào dấu ? trong biểu thức dưới đây để được \(B\) lớn nhất.

\(A\) ? \(A = B\)

Input

  • Gồm một dòng chứa số nguyên \(A\) (\(-10^9 \leq A \leq 10^9\)).

Output

  • Gồm một dòng chứa số nguyên \(B\) lớn nhất tìm được.

Example

Test 1

Input
-5
Output
25
note

Ta có :

  • \(-5\) \(\times\) \(-5\) = \(25\) .
  • \(-5\) \(+\) \(-5\) = \(-10\) .
  • \(-5\) \(-\) \(-5\) = \(0\) .
    vậy trường hợp lớn nhất là : \(-5\) \(\times\) \(-5\) .

5. Largest product

Điểm: 30 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: largestproduct.inp Output: largestproduct.out

Cho bốn số nguyên \(A, B, C, D\). Hãy tìm tích lớn nhất được tạo bởi \(2\) trong \(4\) số vừa nhập.

Input

  • \(4\) số nguyên \(A, B, C, D\) (\(|A|, |B|, |C|, |D|\le 10^{18}\)).

Output

  • kết quả của bài toán chia lấy dư cho \(10^9 + 7\).

Example

Test 1

Input
5 2 6 1
Output
30

Test 2

Input
0 1 2 3
Output
6

6. Kí tự của người Napoli

Điểm: 30 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: Napoli.inp Output: Napoli.out

Trong cuộc hành trình đi khắp thế giới của Nam và Minh hai người họ đã bắt gặp được một bộ tộc tên là Napoli tưởng rằng họ rất dữ tợn nhưng không ngược lại họ lại rất thân thiện nên mời Nam và Minh vào chơi .
Nam và Minh cũng rất thích họ định ở lại chơi lâu dài một thời gian\(,\)nhưng lại có một vấn đề rất lớn xảy ra nhưng lời nó của họ rất khó hiểu và phức tạp người bình thường đọc vào có thể bị tẩu hỏa nhập ma .

Yêu cầu

  • Hãy giúp Nam và Minh phiên dịch các kí tự của người Napoli .
    Ta Định nghĩa kí tự của người Napoli là loại kí tự số : Tức là xâu nhập vào là các số từ (\(0\) - \(26\)).
    VD : Họ nói là \(1\) thì nghĩa là họ đang nói \(a\) .
    NÓI ĐƠN GIẢN LÀ NÓI SỐ THỨ TỰ VÀ IN RA CHỮ CÁI THEO SỐ THỨ TỰ ĐÓ .

Input

  • Số nguyên dương \(N\) là số lượng từ sẽ nói (\(1\) \(\le\) \(N\) \(\le\) \(10^5\)).
  • số nguyên dương \(x\) là kí tự sẽ biên dịch (\(1\) \(\le\) \(x\) \(\le\) \(26\)).

Output

  • Cứ mọi giá trị \(x\) in ra kết quả biên dịch của số đó .

Example

Test 1

Input
19
8 15 3 12 1 16 20 18 9 14 8 11 8 15 14 7 11 8 15
Output
hoclaptrinhkhongkho

7. SQIUF GAME

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

Như bạn đã biết thì trò chơi SQIUF GAME là một trò chơi đầy chết chóc và người cuối cùng sẽ nhận được \(456.000.000.000\) VND.
Hôm nay Nam khi đang ngồi chill nghe nhạc ở nhà thì Minh đến nhà và rủ Nam đi chơi. Minh dẫn thêm \(455\) bạn đến nữa và bắt đầu trò chơi. Trò chơi tên là SQIUF GAME và bạn Minh là chủ trò chơi.
Minh phổ biến luật chơi :
Trò chơi được diễn ra trong \(6\) vòng và mỗi tiếng sẽ có một vòng loại nếu ai chiến thắng sẽ nhận được \(456.000\) VND tiền lì xì Tết của Minh .
Ban đầu các bạn của Minh đều nghĩ đây là một trò chơi chết chóc nhưng ngược lại đây là một trò chơi đầy nhưng thuật toán.
Minh đọc đề bài đầu tiên của trò chơi :
Trên đoàn tàu có \(N\) toa tàu . Toa tàu thứ \(i\) có \(a_i\) năng lượng.
Trong đó có \(M\) người đang muốn đi tàu đó .Người thứ \(i\) muốn đi toa tàu thứ \(b_i\).
Người thứ i có tiêu tốn \(c_i\) năng lượng của toa tàu.
Là một lập trình viên bạn hãy giúp Nam vượt qua vòng \(1\) của trò chơi SQIUF GAME.

YÊU CẦU

  • Hãy tìm các tối ưu nhất để đưa được nhiều người đi nhất .

Input

  • Số nguyên dương \(N, M\) (\(1 \le N,M, \le 100\)).
  • \(N\) số nguyên dương \(a_1, a_2, a_3,..., a_N\) (\(1 \le a_i \le 10^6\)).
  • \(M\) số nguyên dương \(b_1, b_2, b_3,..., b_M\) (\(1 \le b_i \le N\)).
  • \(M\) số nguyên dương \(c_1, c_2, c_3,..., c_M\) (\(1 \le c_i \le 1000\)).

Output

  • Số lượng hàng khách chở được.

Example

Test 1

Input
3 5
10 5 8
1 1 2 3 3
4 6 3 5 4
Output
4
note

Toa \(1\): năng lượng \(10\).
Người: \(4, 6\) → chở được cả \(2\) (\(4 + 6 = 10\)).
Toa \(2\): năng lượng \(5\)
Người: \(3\) → chở được \(1\).
Toa \(3\): năng lượng \(8\).
Người: \(5, 4\) .
Chở được \(4\) (còn \(4\)), không đủ cho \(5\) → chở \(1\) người.
số hành khách nhiều nhất là : \(2 + 1 + 1 = 4\) (hành khách).

8. SQIUF GAME 2

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

Sao vòng \(1\) căn thẳng trò chơi SQIUF GAME chỉ còn lại \(231\) người chơi trong đó có Nam nhờ được các bạn cứu tới vòng \(2\) Minh đọc đề :

Có \(N\) con kiến ở ngày đầu tiên (ngày số \(0\)) mỗi con kiến đều chỉ có POWER là \(1\) sau mỗi ngày sức mạnh của đàn kiến tăng thêm \(1\) POWER và số lượng đàn kiến tăng thêm bằng số lượng sức mạnh tăng thêm .

Nhưng do tuổi thọ của mỗi con kiến có hạn và POWER không được quá cao nên cứ sau \(3\) ngày những con kiến có POWER lớn hơn hoặc bằng \(3\) sẽ bị giảm xuống thành (POWER % \(3\)) . Hãy tìm số ngày ít nhất để tổng POWER cả đàn kiến lớn hơn hoặc bằng \(K\) .

Là một lập trình viên hãy giúp Nam tìm số ngày ít nhất để sức mạnh kiến nhiều hơn hoặc bằng \(K\).

Input

  • Hai số nguyên dương \(N\), \(K\) (\(1 \le N, K \le 10^{18}\)).

Output

  • Một số nguyên dương là số ngày ít nhất.

Example

Test 1

Input
1 5
Output
3
Note

Ngày \(0\) : \(1\) con, POWER \(= 1\) → tổng \(= 1\)

Ngày \(1\) : \(2\) con, POWER \(= 2\) → tổng \(= 4\)

Ngày \(2\) : \(4\) con, POWER \(= 0\) → tổng \(= 0\)

Ngày \(3\) : \(8\) con, POWER \(= 1\) → tổng \(= 8 \ge 5\) ✅