CPP Basic 1 - Khóa 2024/08 - Final Test

Bộ đề bài

1. Đếm dấu cá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 chuỗi kí tự \(S\)\(n\) kí tự \((n≤100)\). Hãy đếm số kí tự khoảng trắng trong chuỗi đó.

Input

  • Gồm một dòng duy nhất là chuỗi kĩ tự \(S\).

Output

  • In ra số lượng kí tự khoảng trắng của \(S\).

Example

Test 1

Input
kid  1   4   1  2 
Output
10

2. Ước số chung

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

Số nguyên dương \(p\) gọi là ước số chung của \(n\) 𝑣à \(m\) khi \(m\) 𝑣à \(n\) cùng chia hết cho \(p\).

Viết chương trình nhập vào một số nguyên dương \(n,m\) (\(n,m \leq 10^{7}\)).

Hãy in ra tất cả các ước số chung của \(n\) 𝑣à \(m\).

Input

  • Nhập \(2\) số nguyên dương \(n,m\).

Output

  • In ra các ước số chung của chúng.

Example

Test 1

Input
54 72 
Output
1 2 3 6 9 18

3. Tổng chẵn

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

Nhập vào một dãy \(N\) số nguyên \(A_{1},A_{2},...,A_{N}\).

Hãy in ra màn hình tổng các phần tử có giá trị chẵn.

Input

  • Dòng đầu tiên chứa số nguyên \(N\).
  • \(N\) dòng tiếp theo chứa \(N\) số nguyên \(A_{1},A_{2},...,A_{N}\).

Output

  • Tổng các phần tử có giá trị chẵn của dãy số.

Constraints

  • \(1 \leq n \leq 10000\)
  • \(|A_{i}| \leq 10^{9}\)

Example

Test 1

Input
7
7 
-6 
-4
19
22
51
82 
Output
94

4. Min 4 số

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

Viết chương trình nhập vào bốn số nguyên \(a, b, c, d\). In ra số nhỏ nhất của 4 số đó.

Input

  • Bốn số nguyên \(a, b, c, d\) mỗi số trên 1 dòng.

Output

  • Một số nguyên là giá trị nhỏ nhất của 4 số.

Example

Test 1

Input
2 
6 
3 
9 
Output
2 

Test 2

Input
-243 
-543 
-123 
232 
Output
-543

5. Học sinh ham chơi

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

Hôm nay thầy giáo quyết định ra một bài tập về tính trung bình công cho cả lớp làm. Đề bài yêu cầu các bạn hãy tìm một dãy con liên tiếp sao cho trung bình cộng của dãy là lớn nhất có thể. T là một là một học sinh trong lớp, vì quá ham chơi, trốn học quá nhiều nên câu ta không giải được bài này nên cậu ấy đã quyết định nhờ các bạn giúp đỡ. Các bạn hãy giúp bạn ấy nhé!

Input

  • Dòng đầu tiên gồm một số nguyên dương \(N\) (\(1 ≤ N ≤ 10^5\)).
  • Dòng tiếp gồm \(N\) số nguyên dương \(x\) (\(1 ≤ x ≤ 10^5\)).

Output

  • Gồm một dòng duy nhất chính là kết quả của bài toán.

Scoring

  • Subtask \(1\) (\(70\%\) số điểm): \(n ≤ 5000\)
  • Subtask \(2\) (\(30\%\) số điểm): \(n ≤ 10^5\)

Example

Test 1

Input
6
1 1 1 3 3 3 
Output
3

6. Vận tốc trung bình

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

Viết chương trình nhập vào quãng đường \(s_{1}\) và thời gian \(t_{1}\) của xe \(1\), quãng đường \(s_{2}\) và thời gian \(t_{2}\) của xe \(2\).

Hãy so sánh vận tốc của xe \(1\) với vận tốc của xe \(2\).

Input

  • Một dòng duy nhất là bốn số nguyên \(s_{1}, t_{1}, s_{2}, t_{2}\) \((1 \leq s_{1}, t_{1}, s_{2}, t_{2} \leq 10^{4})\).

Output

  • In ra YES nếu vận tốc xe \(1\) lớn hơn vận tốc xe \(2\). Ngược lại in ra NO.

Example

Test 1

Input
3 2 1 7 
Output
YES

7. Tổng Đơn Giản

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

Quý rất thích làm toán, nên đã thách đố bạn bài sau: Cho số tự nhiên \(n\), hãy tính tổng \(1-2+3-4+\dots n\).

Input

  • Dòng đầu tiên và duy nhất chứa 1 số tự nhiên \(n\).

Output

  • In ra một số nguyên là đáp số của tổng trên.

Constraints

  • Subtask \(1\) (\(50\%\) số điểm): \(n \leq 10^6\)
  • Subtask \(2\) (\(50\%\) số điểm): \(n \leq 10^9\)

Example

Test 1

Input
4
Output
-2
Note

\(1-2+3-4=-2\)

Test 2

Input
5
Output
3
Note

\(1-2+3-4+5=3\)

8. Mua xăng

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

Bạn muốn mua \(N\) lít xăng, không thừa không thiếu. Tại một tiệm xăng nọ có hai phương thức mua xăng:

  • 1L: Mua 1 lít với giá \(a\) đồng
  • 2L: Mua 2 lít với giá \(b\) đồng

Cho ba số \(N\), \(a\), \(b\). Hãy tính chi phí ít nhất cần để mua đúng chính xác \(N\) lít xăng.

Input

  • Dòng đầu tiên chứa một số nguyên dương \(N\) \((1 \leq N \leq 10^9)\)
  • Dòng thứ hai chứa hai số nguyên dương lần lượt là \(a\)\(b\) \((1 \leq a, b \leq 10^9)\)

Output

In ra một số nguyên, là số tiền tối thiểu cần để mua đúng chính xác \(N\) lít xăng tại tiệm xăng đó.

Example

Test 1

Input
5
1 1
Output
3
Note
  • Để mua \(5\) lít xăng, bạn có thể chọn phương án mua: 2L, 2L, 1L có tổng tiền sẽ là \(3\), là kết quả tối ưu.

Test 2

Input
7 
1 7
Output
7
Note
  • Tại trường hợp này, bạn có thể mua 7 lần 1L có tổng là \(7\) tiền. Nếu dù chỉ mua một lần 2L kia đủ để khiến đáp án là \(7\), nên ta không xét đến nó.

9. Bảng số

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

Đan định nghĩa một bảng số kích thước \(3 \times 3\) được gọi là bảng đẹp nếu tổng mỗi hàng, tổng mỗi cột đều bằng nhau và bảng có ít nhất hai phần tử có giá trị khác nhau.

Yêu cầu: Cho một bảng số kích thước \(3 \times 3\), hãy kiểm tra xem bảng số có phải là bảng đẹp hay không?

Input

  • Gồm ba dòng, mỗi dòng gồm ba số nguyên có giá trị tuyệt đối không vượt quá \(10^{9}\).

Output

  • In một dòng chứa xâu YES hoặc NO tương ứng cho câu trả là là bảng đẹp hoặc không phải là bảng đẹp.

Example

Test 1

Input
1 2 3
2 3 1
3 1 2
Output
YES

Test 2

Input
1 1 1
1 1 1
1 1 1
Output
NO

10. Mã hóa mật khẩu

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

Nguồn: Chuyen Son La Online Judge
Hiện nay, với sự bùng nổ của công nghệ thông tin, mỗi cá nhân đều có cho mình một số tài khoản (tài khoản facebook, tài khoản e-mail, tài khoản twitter…). Các tài khoản này đều cần được bảo vệ bằng các mật khẩu. Một vấn đề quan trọng là cần có biện pháp bảo vệ các mật khẩu đó “an toàn” để tránh bị đánh cắp tài khoản.

Tèo luôn chọn cho mình những mật khẩu gồm một số chữ cái la-tinh đứng đầu (không quá \(10\) chữ cái) và đem ghép vào cuối một số nguyên dương trong hệ thập phân (không quá \(6\) chữ số). Ví dụ: Abcd12. Sau đó Tèo mã hóa mật khẩu bằng cách tách phần số ở cuối, giữ lại phần chữ cái ở đầu và đem chèn vào giữa các chữ cái đó (có thể cả ở đầu và ở cuối) một số chữ số từ \(0\) đến \(9\) sao cho tổng các chữ số được chèn đúng bằng số ở cuối của mật khẩu. Ví dụ: A1b23c4d2 là một cách mã hóa của mật khẩu Abcd12 (các chữ số được dùng để chèn là \(1 + 2 + 3 + 4 + 2 = 12\)).

Bạn hãy giúp Tèo viết một chương trình giải mã mật khẩu nhé?

Input

  • Một dòng duy nhất chứa xâu kí tự đã mã hóa chỉ gồm các chữ cái Latinh và chữ số.

Output

  • Ghi ra một dòng duy nhất là mật khẩu giải mã được.

Scoring

  • Subtask 1 (\(100\%\) số điểm) Độ dài xâu không quá \(10^5\) kí tự trong đó có ít nhất một chữ cái Latinh và ít nhất một chữ số khác \(0\).

Example

Test 1

Input
A1b23c4d2
Output
Abcd12