Đ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

Mật mã

100 điểm

Mật mã để mở kho báu được giấu trong một xâu kí tự.
Xâu kí tự này gồm \(4\) loại kí tự là a, b, c, d và kí tự 0.

Đặc biệt, xâu kí tự này có thể nối hai đầu lại với nhau để tạo thành một vòng tròn.
Ngoài ra, ta có thể thay mỗi kí tự 0 bằng một kí tự bất kì trong các kí tự từ a đến d.

Mật mã của xâu được định nghĩa là độ dài lớn nhất của một xâu con liên tiếp chỉ chứa đúng một loại kí tự.

Yêu cầu:
Hãy xác định mật mã lớn nhất có thể đạt được sau khi thay thế các kí tự 0 một cách hợp lí.

\InputFile

Gồm một dòng duy nhất chứa xâu \(S\) gồm các kí tự a, b, c, d và 0.
Độ dài của xâu không vượt quá \(10^5\).

\OutputFile

In ra một số nguyên dương duy nhất --- giá trị mật mã của xâu.

\Scoring

  • Có \(50\%\) số test ứng với độ dài xâu \(\le\) 1000.

Example

Test 1

Input
0ddc0ba
Output
3

Test 2

Input
0dc0b
Output
3

root

Mua linh kiện

100 điểm

Trong thế giới công nghệ, Minh là một kỹ sư máy tính đang cần mua một bộ vi xử lý và một card đồ họa để lắp ráp cỗ máy server cá nhân. Nơi anh sống có \(n\) cửa hàng chuyên bán linh kiện, được đánh số từ \(1\) đến \(n\). Tại mỗi cửa hàng \(i\), bộ vi xử lý có giá \(c_i\) đồng. Card đồ họa có thể được tìm thấy ở bất kỳ đâu, nhưng Minh sẽ mua nó sau khi đã có vi xử lý.

Hệ thống giao thông công cộng chủ yếu ở đây là tàu điện ngầm. Có \(m\) tuyến tàu điện, mỗi tuyến nối hai cửa hàng với một chính sách giá vé đặc biệt. Tuyến thứ \(i\) di chuyển hai chiều giữa cửa hàng \(u_i\) và \(v_i\), với hai mức giá vé là \(w_i\) và \(l_i\) đồng (\(l_i \le w_i\)). Cụ thể, nếu bạn mua vé tuyến này lần đầu tiên trong ngày, bạn phải trả \(w_i\) đồng. Tuy nhiên, nếu bạn đi lại trên cùng tuyến đó trong ngày, mỗi vé tiếp theo sẽ chỉ tốn \(l_i\) đồng. Mạng lưới này đảm bảo đều hai cửa hàng bất kì đều có thể di chuyển đến nhau.

Minh xuất phát từ cửa hàng \(1\) và anh ta cần phải đến một cửa hàng bất kỳ để mua bộ vi xử lý, sau đó anh ta sẽ đi đến một cửa hàng khác để mua card đồ họa. Sau khi mua đủ linh kiện, anh ta sẽ quay trở lại cửa hàng \(n\) để bắt đầu lắp ráp.

Yêu cầu: Hãy giúp Minh tìm lộ trình sao cho tổng số tiền chi tiêu (bao gồm cả tiền mua linh kiện và tiền di chuyển) là ít nhất có thể.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n, m\) \((1 \leq n, m \leq 10^5)\).
  • Dòng tiếp theo chứa \(n\) số tự nhiên: \(c_1, c_2, \ldots, c_n\) \((0 \leq c_i \leq 10^9)\), là giá của bộ vi xử lý ở mỗi cửa hàng.
  • \(m\) dòng tiếp theo, dòng thứ \(i\) chứa bốn số: \(u_i, v_i, w_i, l_i\), là thông tin về tuyến tàu điện. \((1 \leq u_i, v_i \leq n, 0 \leq l_i \leq w_i \leq 10^9)\).
  • Các số trên cùng một dòng cách nhau bởi dấu cách.

Output

  • Ghi ra một số nguyên duy nhất là tổng số tiền nhỏ nhất có thể.

Example

Test 1

Input
5 6
10 10 1 10 10
1 2 2 2
2 3 1 1
3 4 1 1
4 5 2 2
1 5 1 1
2 5 2 0
Output
6
Note

Trong test ví dụ, Minh sẽ đi theo lộ trình sau \(1 \to 5 \to 2 \to (3) \to 2 \to 5\)

Scoring

  • Có \(25\%\) số test tương ứng với \(25\%\) số điểm : \(n, m \leq 100\)
  • Có \(25\%\) số test tương ứng với \(25\%\) số điểm : \(n, m \leq 1000\).
  • Có \(25\%\) số test tương ứng với \(25\%\) số điểm : \(w_i = l_i\).
  • Có \(25\%\) số test tương ứng với \(25\%\) số điểm còn lại không có ràng buộc gì thêm.

root

Ước và tổng ước

100 điểm

Ước là các số tự nhiên mà một số tự nhiên khác có thể chia hết cho nó

Ước của \(10\) là \(1\), \(2\), \(5\), \(10\). \(3\) không phải là ước của \(10\) vì \(10\) không chia hết cho \(3\).

Viết chương trình nhập vào số nguyên dương \(n\) \((1 \leq n \leq 10^7)\). Hãy viết chương trình in ra các dòng sau :

  • Dòng thứ nhất, in ra tất cả các số là ước của \(n\), các số cách nhau một dấu cách.
  • Dòng thứ hai, in ra tổng tất cả các số là ước của \(n\).

Input

Nhập vào từ bàn phím một số nguyên dương \(n\) \((1 \leq n \leq 10^7)\).

Output

In ra hai dòng như đề yêu cầu.

Example

Test 1

Input
10
Output
1 2 5 10 
18

Test 2

Input
20
Output
1 2 4 5 10 20 
42

staffagent

Ba mức điểm cao nhất

100 điểm

Cho danh sách điểm môn Tin học của một lớp. Mỗi điểm là số thực từ \(0.0\) đến \(10.0\) và được viết với đúng một chữ số thập phân. Hãy liệt kê ba điểm cao nhất theo thứ tự giảm dần. Nếu có nhiều bạn cùng điểm thì mỗi bạn được tính riêng (ví dụ danh sách \(10.0\ 10.0\ 9.9\) cho ra ba điểm \(10.0\ 10.0\ 9.9\)).

Input

Một dòng duy nhất chứa danh sách điểm, các điểm cách nhau bởi một hoặc nhiều dấu cách. Danh sách có ít nhất \(3\) điểm.

Output

In ra ba điểm cao nhất theo thứ tự giảm dần, cách nhau một dấu cách, mỗi điểm có đúng một chữ số thập phân.

Constraints

  • Danh sách có từ \(3\) đến \(1000\) điểm.

Sample Input

7.5 9.5 6.0 8.5 9.0 5.5

Sample Output

9.5 9.0 8.5
Xem thêm