Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

root

Tổng chữ số

100 điểm

Cho một số nguyên dương \(N\). Hãy viết hàm đệ quy để tính tổng các chữ số của \(N\).

Input

Một số nguyên dương \(N\) (\(1 \leq N \leq 10^9\)).

Output

Một số nguyên duy nhất là tổng các chữ số của \(N\).

Example

Test 1

Input
12345
Output
15

root

Quân đội

100 điểm

Lục địa QT có tổng cộng \(N\) đất nước (được đánh số từ \(1\) đến \(N\)) và có \(M\) con đường hai chiều nối giữa các đất nước với nhau. Đất nước RoNE có chỉ số là \(1\), và đất nước NhaNTH có chỉ số là \(N\). Quân đội của đất nước RoNE có \(X\) quân lính và đang muốn xuất quân đi đánh chiếm đất nước thực dân NhaNTH.

Ở mỗi đất nước trên lục địa QT đều có quân thực dân của đất nước NhaNTH chiếm đóng (kể cả đất nước của RoNE), đất nước thứ \(i\) có \(A_i\) quân thực dân. Khi đội quân của RoNE đi qua một đất nước, sẽ có một trận chiến xảy ra. Nếu số lượng quân của RoNE nhiều hơn số lượng quân thực dân tại đất nước đó, quân đội RoNE sẽ toàn thắng, chiếm được đất nước đó và không có thiệt hại nào. Ngược lại, đội quân RoNE vẫn sẽ chiến thắng và chiếm được đất nước đó nhưng số lượng quân sống sót chỉ còn một nửa (nếu số lượng quân lính của RoNE là \(x\) thì sẽ chỉ còn lại \(\lfloor \frac{x}{2}\rfloor\)). Đội quân RoNE cần phải bắt đầu từ đất nước của mình đến đất nước NhaNTH và tiêu diệt tất cả quân thực dân trên đường đi.

Nếu bạn là quân sư của đất nước RoNE, hãy tìm một đường hành quân tốt nhất sao cho có thể bảo toàn được nhiều quân lính nhất có thể sau khi chiếm được đất nước NhaNTH.

Input

  • Dòng đầu tiên gồm \(2\) số \(N,M\) là số lượng đất nước và số lượng đường đi giữa các đất nước.
  • \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u,v\) mô tả một con đường nối giữa hai đất nước \(u\) và \(v\).
  • Dòng tiếp theo chứa số nguyên \(X\ (1\le X\le10^9)\) là số lượng quân lính của đất nước RoNE.
  • Dòng tiếp theo chứa \(N\) số nguyên dương mô tả dãy \(A\ (1\le A_i\le10^9)\) là số lượng quân thực dân tại mỗi đất nước.

Output

  • Ghi ra số lượng quân lính tối đa có thể sống sót sau khi chiếm được đất nước NhaNTH. Nếu không thể chiếm đánh thành công, ghi ra \(0\).

Example

Test 1

Input
4 4
1 2
1 3
2 4
3 4
7
10 2 3 1
Output
3

Test 2

Input
4 4
1 2
1 3
2 4
3 4
7
10 3 3 1
Output
0

Scoring

  • Subtask \(1\) (\(20\%\) số điểm) \(1 \le N,M \le 1000\).
  • Subtask \(2\) (\(30\%\) số điểm) \(1 \le N,M \le 100000\).
  • Subtask \(3\) (\(50\%\) số điểm) \(1 \le N, M \le 500000\).

root

Kết nối điểm

100 điểm

Trên trục số, Roy và Biv có một tập hợp gồm \(n\) điểm, mỗi điểm có vị trí và màu sắc. Mỗi điểm là một trong ba màu: đỏ (R), xanh lá (G) hoặc xanh dương (B).

Họ muốn nối các điểm lại bằng những đoạn thẳng (cạnh). Mỗi cạnh có thể nối hai điểm bất kỳ, và chi phí của cạnh chính là khoảng cách giữa hai điểm được nối.

Mục tiêu là chọn một số cạnh sao cho toàn bộ \(n\) điểm được kết nối (trực tiếp hoặc gián tiếp). Tuy nhiên, có một điều đặc biệt:

  • Roy không nhìn thấy màu đỏ.
  • Biv không nhìn thấy màu xanh dương.

Do đó, họ muốn chọn các cạnh sao cho:

  • Nếu bỏ toàn bộ điểm màu đỏ, thì các điểm còn lại (xanh lá và xanh dương) vẫn phải kết nối được với nhau.
  • Nếu bỏ toàn bộ điểm màu xanh dương, thì các điểm còn lại (xanh lá và đỏ) cũng phải kết nối được với nhau.

Hãy giúp họ tìm cách kết nối các điểm với tổng chi phí nhỏ nhất, thoả mãn hai điều kiện trên.

Chú ý: Tọa độ các điểm là phân biệt và tăng dần.

Hai điểm được xem là "kết nối với nhau" nếu tồn tại chuỗi các cạnh nối giữa chúng.

\InputFile

  • Dòng đầu tiên chứa số nguyên \(n\) (\(1 \le n \le 300\,000\)) --- số lượng điểm.
  • \(n\) dòng tiếp theo, mỗi dòng chứa một số nguyên \(p_i\) (\(1 \le p_i \le 10^9\)) và một ký tự \(c_i\) (\(c_i \in \{R, G, B\}\)) --- tọa độ và màu sắc của điểm thứ \(i\).
  • Các tọa độ \(p_i\) là phân biệt và tăng dần.

\OutputFile

In ra chi phí nhỏ nhất cần thiết để kết nối các điểm, thỏa mãn điều kiện của Roy và Biv.

\Scoring

  • Subtask 1 (10 điểm): tất cả các điểm chỉ có màu G.
  • Subtask 2 (11 điểm): không có điểm nào có màu G.
  • Subtask 3 (15 điểm): tất cả các điểm có màu R hoặc màu G.
  • Subtask 4 (17 điểm): \(n \le 10\).
  • Subtask 5 (47 điểm): không có ràng buộc gì thêm.

Example

Test 1

Input
4
1 G
4 R
8 B
15 G
Output
24

root

Số đẹp

100 điểm

Trong bài thi sáng tạo lần này có một sản phẩm trò chơi tên "Số đẹp" được mô tả như sau: Bạn được cho một số tự nhiên \(N\). Hãy sử dụng ít thao tác nhất để đưa số \(N\) về thành số đẹp. Trong đó: Số đẹp được định nghĩa là số chỉ gồm toàn chữ số \(3\) hoặc chỉ gồm toàn chữ số \(7\) hoặc nếu gồm cả chữ số \(3\) và chứ số \(7\) thì các chữ số \(3\) đều đứng trước chữ số \(7\). Ví dụ: Số đẹp: \(3, 77, 37, 337, ...\) Không phải số đẹp: \(1, 36, 89, 733, ...\)

\begincenter

\endcenter

Các chữ số của số \(N\) được chia vào \(N\) ô như hình vẽ, mỗi ô có \(2\) phím mũi tên lên và xuống:

  • Mũi tên lên: Tăng chữ số đó lên \(1\) đơn vị. Nếu số hiện tại là \(9\) thì số sau khi tăng là số \(0\).

  • Mũi tên xuống: Giảm chữ số đó đi \(1\) đơn vị. Nếu chữ số hiện tại là \(0\) thì sau khi giảm sẽ là \(9\).

Phần thưởng của trò chơi là chuyến du lịch Quảng Nam và tham dự vòng thi chung kết Tin học trẻ năm nay, vì vậy thí sinh nào cũng thích tham gia trò chơi. Bạn hãy lập trình giúp ban giám khảo xem thí sinh cần sử dụng ít nhất bao nhiêu lần ấn phím mũi tên để số nhận được là số đẹp.

Input

  • Gồm 1 dòng chứa một số tự nhiên \(N\) \((0 < N \leq 10^{15})\).

Output

  • In ra một số là số lượt ấn phím mũi tên ít nhất để chuyển từ N thành số đẹp.

Example

Test 1

Input
1
Output
2
Note

Test ví dụ \(1\):

Ấn phím mũi tên lên \(2\) lần để đạt được số \(3\) là số đẹp.

Test ví dụ \(2\):

Không cần ấn lần nào vì số \(N\) đã là số đẹp.

Test ví dụ \(3\):

  • Ấn mũi tên lên \(1\) lần ở chữ số \(6\) để tạo thành chữ số \(7\). Ấn mũi tên xuống \(1\) lần ở chữ số \(4\) để tạo thành chữ số \(3\). Cách này ra số \(733\) chỉ mất \(2\) lần ấn nhưng số \(733\) không phải là số đẹp vì chữ số \(7\) đứng trước chữ số \(3\).

  • Vì vậy ta sử dụng cách sau: Ấn mũi tên xuống \(3\) lần ở chữ số \(6\) để được chữ số \(3\). Ấn mũi tên xuống \(1\) lần ở chữ số \(4\) để được chữ số \(3\). Ta thu được số đẹp \(333\) sau \(4\) lần ấn.

Test ví dụ \(4\):

Ấn mũi tên xuống \(1\) lần ở chữ số \(4\) đề tạo thành chứ số \(3\). Ấn mũi tên lên \(3\) lần ở chữ số \(0\) để tạo thành chữ số \(3\). Ấn mũi tên xuống \(2\) lần ở chữ số \(9\) để tạo thành chữ số \(7\). Như vậy tổng cộng cần ấn \(6\) lần.

Test 2

Input
37
Output
0

Test 3

Input
643
Output
4

Test 4

Input
4079
Output
6

Scoring

  • Subtask #1 (\(40\%\) số điểm): \(N < 10^4\)

  • Subtask #2 (\(60\%\) số điểm): \(N \leq 10^{15}\)

Xem thêm