Bể nước (OLP MT&TN 2022 CT)

Bể nước nhà Thuận có hai vòi nước cùng chảy vào bể, nếu chỉ mở vòi thứ nhất thì phải mất \(a\) giờ mới đầy bể, còn nếu chỉ mở vòi thứ hai thì phải mất \(b\) giờ mới đầy bể. Thuận muốn biết nếu cả hai vòi cùng mở thì mất bao lâu thời gian để đầy bể.

Input

Vào từ thiết bị vào chuẩn gồm một dòng chứa hai số nguyên dương \(a,b\) \((a,b\leq 10^6)\).

Output

Ghi ra thiết bị ra chuẩn một dòng chứa một số thực với độ chính xác \(10^{-5}\) là thời gian để bể đầy nước nếu mở cả hai vòi.

Example

Test 1

Input
4 5
Output
2.22222
...More

Tam giác (OLP MT&TN 2022 CT)

Thời gian rảnh Thuận thường hướng dẫn các em nhỏ học lập trình, dưới đây là một bài toán rèn luyện kĩ năng cũng như tư duy lập trình.

Cho một dãy số nguyên dương \(a_1, a_2, ..., a_n (1 < a_i \le 10^9)\) và số nguyên dương \(t (1 \le t \le 3)\). Gọi \(s_1, s_2, s_3\) tương ứng là số bộ chỉ số \(1 \le i < j < k \le n\)\(a_i, a_j, a_k\) là ba cạnh của một tam giác nhọn, tam giác vuông, tam giác tù. Hãy tính giá trị \(s_t\).

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng đầu chứa hai số nguyên dương \(n, t\);
  • Dòng thứ hai gồm \(n\) số nguyên dương \(a_1, a_2, ..., a_n\).

Output

  • Ghi ra thiết bị ra chuẩn một dòng chứa một số nguyên là giá trị \(s_t\) tính được.

Scoring

  • Subtask #1 (\(30\%\) số điểm): \(n = 3\) và 10% cho từng giá trị của \(t\);
  • Subtask #2 (\(30\%\) số điểm): \(n \le 300\) và 10% cho từng giá trị của \(t\);
  • Subtask #3 (\(40\%\) số điểm): \(n \le 3000\)

Example

Test 1

Input
3 2
3 4 5
Output
1

Test 2

Input
4 1
3 4 5 6
Output
1
...More

Khai thác khoáng sản

Miền Trung - Tây Nguyên ngày nay là một vùng đất tiềm năng giàu khoáng sản chưa được khai thác nhiều. Một dự án khai thác mỏ sắt nơi đây dự định xây dựng \(N\) địa điểm và \(M\) con đường nối giữa các cặp điểm, các địa điểm được đánh số từ \(1\) đến \(N\), các con đường được đánh số từ \(1\) đến \(M\). Con đường thứ \(i\) có chi phí xây dựng \(C_i\), giá trị sử dụng \(V_i\) và nối địa điểm \(x_i\) với \(y_i\) cho phép đi lại theo cả hai chiều. Có thể có nhiều con đường nối cùng một cặp điểm. Có \(Q\) địa điểm đặc biệt nơi mà khoáng sắt tập trung nhiều là \(k_1, k_2, \ldots, k_Q\).

Ban quản lý dự án muốn chọn ra một số con đường để xây dựng, sao cho tổng giá trị sử dụng lớn hơn hoặc bằng $V^ * $, bảo đảm đi lại giữa \(Q\) địa điểm đặc biệt, và tổng chi phí xây dựng là càng nhỏ càng tốt. Hãy giúp họ tìm ra một phương án.

Đây là bài toán chỉ cần nộp các file kết quả đầu ra (OUTPUT-ONLY). Thí sinh được cho 20 file đầu vào tương ứng với 20 test, đối với mỗi file đầu vào thí sinh cần nộp một file kết quả đầu ra tìm được. Với mỗi file kết quả đầu ra đúng đắn, điểm của thí sinh được tính theo công thức trong phần Scoring.

Input

Thí sinh tải đầu vào tại đường dẫn: https://lqdoj.edu.vn/media/olp4ck3c.zip
Sau khi giải nén, bạn có 20 file đầu vào được đặt tên là 01.inp, 02.inp, ..., 20.inp, mỗi file mô tả một test theo định dạng:

  • Dòng đầu ghi bốn số nguyên \(N\), \(M\), \(Q\) và $V^ * $ (\(1 \leq N,M,Q \leq 1000\), \(1 \leq V^* \leq 10^9\));
  • Dòng thứ \(i\) trong số \(M\) dòng tiếp theo chứa bốn số nguyên \(x_i, y_i, C_i, V_i\) (\(1 \leq x_i, y_i \leq n\), \(1 \leq c_i, v_i \leq 10^6\));
  • Dòng tiếp theo chứa \(k_1, k_2, \ldots, k_Q\) (\(1 \leq k_i \leq n\)).

Dữ liệu bảo đảm $V^ * $ không vượt quá tổng giá trị sử dụng của tất cả các cạnh, và nếu xây dựng cả \(M\) cạnh thì luôn đảm bảo đi lại giữa \(Q\) đỉnh đặc biệt.

Output

Với file đầu vào name.inp, bạn cần xuất ra file đầu ra name.out chứa kết quả test tương ứng theo định dạng:

  • Dòng đầu ghi một số nguyên là tổng chi phí xây dựng tìm được;
  • Dòng thứ hai ghi một số nguyên \(T\) là số cạnh được xây dựng, theo sau bởi \(T\) số nguyên dương là chỉ số của các cạnh đó.

Mỗi lần nộp bài bạn có thể nộp một hoặc nhiều file đầu ra, bạn cần nén các file đầu ra này lại thành submission.zip để nộp. Ở mục chọn ngôn ngữ của trang nộp bài, chọn "Output".

Subtasks

  • Subtask 1 (\(5\) điểm): \(M \leq 20\);
  • Subtask 2 (\(5\) điểm): \(V^*=1, Q=N\);
  • Subtask 3 (\(10\) điểm): \(V^ * =1\);
  • Subtask 4 (\(15\) điểm): \(Q=N\);
  • Subtask 5 (\(65\) điểm): Không có ràng buộc gì thêm.

Examples

Test 1

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

Có ba cạnh được xây dựng là \(1, 5, 6\); đảm bảo đi lại giữa đỉnh \(1\)\(3\). Tổng giá trị sử dụng là \(2+1+4=7 > 6\). Tổng chi phí xây dựng là \(2+2+1 = 5\).

Scoring

Đối với mỗi test, bạn sẽ bị \(0\) điểm nếu đầu ra không hợp lệ; ngược lại, gọi \(C\) là tổng chi phí xây dựng các cạnh mà bạn tìm được, Ban tổ chức có một giá trị \(J\) đối với test đó:

  • Nếu \(\frac{C}{J} < 1\) bạn được 1 điểm cho test đó;
  • Nếu \(1 \leq \frac{C}{J} \leq 2\) bạn được \((\frac{2J-C}{J})^3 \times 100\%\) số điểm cho test đó;
  • Nếu \(\frac{C}{J} > 2\) bạn được 0 điểm cho test đó.
  • Trong quá trình thi, nếu bài làm của bạn tốt hơn của ban tổ chức ở một test nào đó, kết quả này sẽ được cập nhật cho ban tổ chức và dùng để chấm điểm cho các thí sinh khác. Việc cập nhật sẽ được thực hiện nhiều lần trong suốt quá trình thi mà không có thông báo gì thêm.

Điểm của lần nộp là tổng điểm đạt được của các test. Điểm của bài là điểm lớn nhất trong số các lần nộp.

...More

Tặng quà (OLP MT&TN 2021 CT)

Trong buổi giao lưu các thí sinh tham gia kỳ thi, thầy Nhỏ đã chuẩn bị \(2n\) món quà dành cho các thí sinh đạt giải. Khi cho các món quà vào túi, thầy Nhỏ đã đưa các món quà vào theo một thứ tự mà nếu lấy ra, các món quà sẽ có mã màu lần lượt là \(c_1,c_2,…,c_{2n}\).

\(m (m \le n)\) thí sinh đạt giải, mỗi bạn sẽ được nhận hai món quà sau hai lượt tặng. Các thí sinh đứng thành một hàng và thầy Nhỏ sẽ đi từ đầu hàng đến cuối hàng để lần lượt tặng quà cho từng bạn. Khi đứng trước một bạn để tặng quà, thầy Nhỏ lần lượt lấy từng món quà ra cho tới khi lựa chọn được một món quà phù hợp để tặng, các món quà không được lựa chọn sẽ cất đi và không được dùng để tặng quà. Khi bạn thứ \(m\) ở cuối hàng đã được nhận quà, thầy Nhỏ tiếp tục tặng quà lượt thứ hai tương tự như lượt thứ nhất nhưng bắt đầu từ bạn thứ m lùi về đầu hàng. Thầy Nhỏ được biết, các thí sinh mong muốn nhận được hai món quà mà chênh lệch mã màu của hai món quà đó không vượt quá \(d\) nên Thầy quyết định việc tặng quà sẽ phải bảo đảm tất cả các thí sinh đều nhận được hai món quà mà chênh lệch mã màu không vượt quá \(d\).

Một cách hình thức, gọi \(m\) là số lượng thí sinh được tặng quà, thầy Nhỏ cần chọn ra dãy \(2m\) chỉ số \(1 \le i_1<i_2<...<i_m<i_{(m+1)}<...<i_{2m}\le2n\) sao cho \(|c_{i_k}-c_{i_{2m+1-k}} |\le d\) với mọi \(1\le k\le m\).

Thầy Nhỏ biết rằng, có thể không tồn tại cách chọn được 2m chỉ số thỏa mãn, điều đó cũng có nghĩa là không thể tặng quà như mong muốn cho cả \(m\) thí sinh. Do đó, với một số nguyên dương \(d\) và thứ tự các món quà lấy ra có mã màu lần lượt là \(c_1,c_2,…,c_{2n}\), thầy Nhỏ muốn tính số lượng nhiều nhất các bạn có thể tặng quà.

Yêu cầu: Hãy giúp thầy Nhỏ tính số lượng nhiều nhất các thí sinh mà thầy Nhỏ có thể tặng quà đáp ứng điều kiện nêu trên.

Input

Vào từ thiết bị vào chuẩn có khuôn dạng:

  • Dòng thứ nhất chứa hai số nguyên dương \(n\)\(d (d\le 10^6)\);
  • Dòng thứ hai chứa \(2n\) số nguyên dương \(c_1,c_2,...,c_{2n}\) là mã màu của các món quà lần lượt được lấy ra, các số không vượt quá \(10^6\).

Output

Ghi ra thiết bị ra chuẩn một số nguyên duy nhất là số lượng nhiều nhất các thí sinh mà thầy Nhỏ có thể tặng quà.

Scoring

  • Subtask \(1\) (\(40\%\) số điểm): \(n\le 10\);
  • Subtask \(2\) (\(30\%\) số điểm): \(n\le 150\);
  • Subtask \(3\) (\(30\%\) số điểm): \(n\le 2000\).

Example

Test 1

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

Thầy Nhỏ có thể tặng tối đa cho 2 thí sinh.

  • Lượt thứ nhất, món quà có mã màu 1 tặng bạn thứ nhất, món quà có mã màu 4 tặng bạn thứ hai.
  • Lượt thứ hai, món quà có mã màu 5 tặng bạn thứ hai và món quà có mã màu 2 tặng bạn thứ nhất.
...More