Tổng hiệu
Input
- Dòng thứ nhất chứa số \(A + B\).
- Dòng thứ hai chứa số \(A − B\).
Output
- Dòng thứ nhất ghi \(A\);
- Dòng thứ hai ghi \(B\).
Example
Test 1
Input
0
-200
Output
-100
100
Heo đất
“Mẹ mua cho con heo đất, mẹ mua cho con heo đất í a í a, ngày hôm nay em vui lắm, cầm heo trên tay em ngắm, í à í a, làm sao cho heo mau lớn làm sao cho heo mau lớn í à í a.
Heo không đòi ăn cơm, heo không đòi ăn cám, heo chỉ cần em bé trên tay ầu ơ, em không thèm mua kem, em không thèm mua bánh, em để dành cho heo, em lì xì heo đất 200 mỗi ngày.
Này heo ơi! ngoan nhé! í a! này heo con ơi mau lớn í a”
Bắt đầu từ ngày hôm nay, mỗi ngày mẹ sẽ đưa cho em một số tờ tiền để nuôi heo. Cụ thể, ngày thứ \(𝑖\) mẹ sẽ đưa cho em \(𝑠_𝑖\) tờ với các mệnh giá: \(𝑐_{𝑖,1}, 𝑐_{𝑖,2}, . . , 𝑐_{𝑖,𝑠_𝑖}\). Em sẽ lựa chọn (hoặc không chọn) một tờ trong số các tờ mẹ đưa để “lì xì” cho heo với điều kiện: tờ tiền lựa chọn của những ngày sau có mệnh giá không nhỏ hơn tờ tiền đã lựa chọn của những ngày trước.
Yêu cầu: Hãy lựa chọn tờ tiền để heo mau lớn nhất.
Input
- Dòng đầu chứa số \(𝑛\) là số ngày;
- \(𝑛\) dòng sau, mỗi dòng mô tả các tờ tiền mà mẹ cho. Dòng thứ \(𝑖\) mô tả ngày thứ \(𝑖\), số đầu tiên của dòng là \(𝑠_𝑖\), tiếp theo là các số \(𝑐_{𝑖,1}, 𝑐_{𝑖,2}, . . , 𝑐_{𝑖,𝑠_𝑖}\) (\(𝑐_{𝑖,𝑗} \leq 10^6\))
Output
- Gồm một dòng chứa tổng số tiền lớn nhất có thể chọn được để nuôi heo.
Scoring
- Subtask \(1\) (\(25\%\) số điểm): \(𝑛 \leq 20\) và các \(𝑠_𝑖\) bằng 1;
- Subtask \(1\) (\(25\%\) số điểm): \(𝑛 \leq 10^5\) và các \(𝑠_𝑖\) bằng 1;
- Subtask \(1\) (\(25\%\) số điểm): \(𝑛 \leq 1000\) và \(𝑠_𝑖 \leq 50\);
- Subtask \(1\) (\(25\%\) số điểm): \(𝑛 \leq 1000\) và \(𝑠_1 + 𝑠_2 + ⋯ + 𝑠_𝑛 \leq 10^6\).
Example
Test 1
Input
6
3 1 1 1
2 2 3
2 2 3
1 1
2 2 2
2 2 2
Output
9
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\) và \(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.
Siêu thị (OLP MT&TN 2022 CT)
Thành phố Thuận ở được biểu diễn bằng một bảng hai chiều kích thước \(m\times n\). Các hàng của bảng được đánh số từ đến từ trên xuống dưới, các cột của bảng được đánh số từ \(1\) đến \(n\) từ trái sang phải. Khu vực dân cư nằm giao giữa hàng \(i\) và cột \(j\) được gọi là khu vực dân cư \((i, j)\).
Hiện tại có \(k\) siêu thị đang hoạt động, siêu thị thứ \(t (1 \le t \le k)\) sẽ phục vụ các khu vực dân cư nằm trong hình chữ nhật có ô trái trên là khu vực dân cư \((x_t, y_t)\) và ô phải dưới là khu vực dân cư \((u_t, v_t)\). Theo phân tích đánh giá, dân cư một khu vực sẽ hạnh phúc nếu khu vực đó có đúng \(s\) siêu thị phục vụ. Thuận dự định mở một siêu thị, siêu thị cũng sẽ phục vụ các khu vực dân cư nằm trong một hình chữ nhật, Thuận mong muốn số lượng khu vực dân cư có đúng \(s\) siêu thị phục vụ là nhiều nhất.
Yêu cầu: Hãy giúp Thuận xác định một hình chữ nhật là khu vực mà siêu thị của Thuận sẽ phục vụ để số lượng khu vực dân cư có đúng \(s\) siêu thị phục vụ là nhiều nhất.
Input
Vào từ thiết bị vào chuẩn có khuôn dạng:
- Dòng thứ nhất chứa bốn số nguyên dương \(m, n, k\) và \(s (1 \le s \le k \le 10^{15})\)
- Dòng thứ \(t (1 \le t \le k)\) trong \(k\) dòng tiếp theo chứa \(4\) số nguyên dương \(x_t, y_t, u_t, v_t (1 \le x_t \le u_t \le m; 1 \le y_t \le v_t \le n)\)
Output
- Ghi ra thiết bị ra chuẩn một số nguyên duy nhất là số lượng khu vực dân cư có đúng \(s\) siêu thị phục vụ là nhiều nhất.
Scoring
- Subtask \(1\) (\(40\%\) số điểm): \(m, n \le 20\);
- Subtask \(2\) (\(30\%\) số điểm): \(m, n \le 80\);
- Subtask \(3\) (\(30\%\) số điểm): \(m, n \le 400\)
Example
Test 1
Input
3 4 3 2
1 1 1 4
2 2 3 3
2 3 3 4
Output
8
Note
Chọn hình chữ nhật có ô trái trên là khu vực dân cư (1, 1) và ô phải dưới là khu vực dân cư (3, 4) để có 8 khu vực dân cư có đúng 2 siêu thị phục vụ.
Test 2
Input
1 1 1 1
1 1 1 1
Output
0
Note
Chọn hình chữ nhật có ô trái trên là khu vực dân cư (1, 1) và ô phải dưới là khu vực dân cư (1, 1), khi đó không có vực dân cư nào có đúng 1 siêu thị phục vụ.