Contest #03/2022

Bộ đề bài

# Bài tập Điểm Thời gian: Giới hạn bộ nhớ
1 Ba chữ số 100 (p) 1.0s 256M
2 Chênh lệch 100 (p) 1.0s 256M
3 String LCM 100 (p) 1.0s 256M
4 Cặp đôi bất khả chiến bại 100 (p) 1.0s 977M
5 pyramid2 100 (p) 2.0s 1G

1. Ba chữ số

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

Bạn X thiết kế ra một máy đánh số thứ tự có ba chữ số, nên được giao nhiệm vụ đánh mã số lên các thiết bị của công ty. Chiếc máy đánh số từ \(001, 002, 003, \dots, 997, 998, 999\) rồi sau đó quay lại \(001, 002, 003, \dots\).

Hãy cho biết, thiết bị thứ \(n\) có mã số là bao nhiêu?

Input

  • Một số \(n\) duy nhất (\(n \le 10^9\)).

Output

  • In ra một số duy nhất là mã số của thiết bị thứ \(n\).

Example

Test 1

Input
275
Output
275

Test 2

Input
1000
Output
001

Test 3

Input
2275
Output
277

Scoring

  • \(60\%\) số test có \(n \le 10^5\).
  • \(40\%\) số test còn lại có \(n \le 10^9\).

2. Chênh lệch

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

Cho một mảng \(A\)\(n\) phần tử. Hãy tìm chênh lệch nhỏ nhất giữa hai phần tử bất kỳ của \(A\).

Input

  • Dòng đầu tiên chứa một số \(n\) \((n \le 10^5)\).
  • \(n\) dòng tiếp theo, dòng thứ \(i\) chứa một số \(A_i\) \((A_i \le 10^9)\).

Output

  • In ra kết quả là chênh lệch nhỏ nhất giữa hai phần tử bất kỳ của \(A\).

Example

Test 1

Input
5
2 
4 
1 
8 
2
Output
0

Test 2

Input
5
20 
9 
2 
5 
13
Output
3

Scoring

  • 60% số test có \(n \le 10^3\).
  • 40% còn lại có \(n \le 10^5\).

3. String LCM

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

Ta định nghĩa một phép nhân giữa một chuỗi \(a\) và một số nguyên dương \(x\): \(a.x\) là một chuỗi được hình thành bằng cách sao chép \(x\) lần chuỗi \(a\).

Ví dụ: abc\(.2\) = abcabc, a\(.5\) = aaaaa.

Một chuỗi \(a\) được gọi là chia hết cho chuỗi \(b\) nếu tồn tại một số nguyên \(x\) sao cho \(b.x\) = \(a\).

Ví dụ abababab chia hết cho chuỗi ab, nhưng không chia hết cho ababab hoặc a.

\(LCM\) của hai chuỗi \(s\)\(t\) là chuỗi ngắn nhất khác rỗng sao cho chuỗi \(s\) và chuỗi \(t\) chia hết cho chuỗi đó.

Bạn được cho hai chuỗi \(s\)\(t\). Hãy tìm \(LCM(s, t)\).

Input

  • Dòng đầu tiên gồm một số nguyên \(q\) (\(1\leq q \leq 2000\)) là số lượng test case.
  • Mỗi test case gồm hai dòng, chứa hai chuỗi \(s\)\(t\) (\(1 \leq |s|, |t| \leq 20\)). Mỗi kí tự trong chuỗi là một trong hai kí tự a hoặc b.

Output

  • Với mỗi test case, in ra bội chung nhỏ nhất \(LCM(s, t)\) nếu tồn tại, ngược lại in ra -1.

Example

Test 1

Input
3
baba
ba
aa
aaa
aba
ab
Output
baba
aaaaaa
-1

4. Cặp đôi bất khả chiến bại

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

Phi hành đoàn trên con tàu vũ trụ Chết chóc phải hoàn thành các nhiệm vụ để vận hành và duy trì con tàu. Vì trong số họ có các imposter đang chực chờ cơ hội để tiêu diệt họ, một số người đã đi thành cặp để bảo vệ lẫn nhau. Tuy nhiên không phải cặp nào cũng đủ sức mạnh để chống trả lại bọn imposter gian ác. Tất cả các phi hành đoàn sẽ mang 1 con số báo danh trong đoạn từ \(L\) đến \(R\) và imposter nhận ra rằng, một cặp đôi \(a\)\(b\) là bất khả chiến bại nếu như tổng số ước của \(a\) không bao gồm \(a\) bằng \(b\) và ngược lại tổng số ước của \(b\) không bao gồm \(b\) bằng \(a\). Là 1 imposter, bạn hãy lập trình để xác định những cặp bất khả chiến bại này để loại trừ ra nhằm tiêu diệt những nhóm yếu ớt hơn.

Yêu cầu: Cho 2 số nguyên dương \(L\)\(R\) (\(L < R\)). Hãy đếm số lượng cặp \((a, b)\)\(L \le (a, b) \le R\) và đó là cặp đôi bất khả chiến bại, cặp \((a, b)\)\((b, a)\) được tính là 1.

Input

  • Gồm 1 dòng duy nhất 2 số nguyên dương \(L, R\) (\(L \le R \le 10^6\)).

Output

  • Số lượng cặp bất khả chiến bại.

Example

Test 1

Input
219 285
Output
1

5. pyramid2

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

Bằng cách xếp những khối lập phương lại với nhau, ta có thể tạo nên những kim tự tháp cho riêng mình.

Vậy cần bao nhiêu khối lập phương để tạo nên một tháp lá bài có độ cao \(n\).

Input

  • Dòng đầu, chứa số nguyên dương \(T\) (\(T \le 10^6\)) - số lượng câu hỏi.
  • \(T\) dòng sau, mỗi dòng chứa một số nguyên dương \(n\) (\(n \le 10^9\)).

Output

  • Gồm \(T\) dòng, mỗi dòng chứa số lượng khối lập phương tối thiểu để tạo một tháp có chiều cao \(n\) tương ứng (lấy số dư khi chia cho \(10^9 + 7\)).

Example

Test 1

Input
3
1
2
3
Output
1
10
35