Mua hàng (DHBB 2021)
Là một học sinh yêu thích môn Tin học, Hồng thường tìm cách áp dụng Tin học vào cuộc sống. Hiện tại, Hồng đang gặp một bài toán khó và muốn nhờ các anh chị tham gia kỳ thi Duyên Hải 2021 giải giúp.
Khu vực mà Hồng ở có ba siêu thị, siêu thị A ở trung tâm và hai siêu thị B, C xa trung tâm. Vì xa trung tâm, nên mỗi siêu thị B, C đều có chương trình tích điểm để giảm giá khi mua hàng. Hai chương trình của hai siêu thị là riêng biệt nhưng có hình thức giống nhau. Cụ thể, nếu một khách hàng đã mua hàng ở một siêu thị \(t\) lần thì khách hàng có \(t\) điểm tích lũy tại siêu thị đó, khi khách hàng mua lần tiếp theo (lần thứ \(t + 1\)), khách hàng sẽ được giảm \(t\) đồng trong lần mua đó và số điểm tích lũy tại siêu thị này được tăng lên thành \(t + 1\).
Hồng dự định mua lần lượt mặt hàng, mỗi mặt hàng sẽ được mua ở một trong ba siêu thị A, B, C. Qua khảo sát, Hồng được biết mặt hàng thứ \(i (1 \le i \le n)\) có giá ở ba siêu thị A, B, C tương ứng là \(x_i, y_i, z_i\)
.
Yêu cầu: Cho các giá trị \(x_i, y_i (1 \le i \le n)\) là giá của mặt hàng tương ứng ở ba siêu thị A, B, C, hãy giúp Hồng tìm cách mua hết ít tiền nhất.
Input
Vào từ thiết bị vào chuẩn có khuôn dạng:
- Dòng đầu chứa số nguyên dương \(n\);
- Dòng thứ \(i(i = 1, 2, ..., n)\) trong dòng tiếp theo chứa ba số nguyên dương \(x_i, y_i, z_i (n \le x_i, y_i, z_i \le 10^9)\).
Output
- Ghi ra file thiết bị ra chuẩn một số nguyên là tổng tiền ít nhất để mua được \(n\) mặt hàng.
Scoring
- Subtask \(1\) (\(30\%\) số điểm): \(n \le 10\);
- Subtask \(2\) (\(40\%\) số điểm): \(n \le 200\):
- Subtask \(3\) (\(30\%\) số điểm): \(n \le 3000\)
Example
Test 1
Input
5
5 5 9
7 8 5
9 9 5
9 9 5
6 6 9
Output
22
Note
- Mặt hàng thứ nhất mua ở siêu thị B, phải trả 5 và có số điểm tích lũy tại siêu thị B là 1;
- Mặt hàng thứ hai mua ở siêu thị C, phải trả 5 - 1 = 4 và có số điểm tích lũy tại siêu thị C là 2;
- Mặt hàng thứ ba mua ở siêu thị C, phải trả 5 - 2 = 3và có số điểm tích lũy tại siêu thị C là 3;
- Mặt hàng thứ tư mua ở siêu thị C, phải trả và có số điểm tích lũy tại siêu thị C là 3;
- Mặt hàng thứ năm mua ở siêu thị B, phải trả 6 - 1 = 5 và có số điểm tích lũy tại siêu thị B là 2.
Tổng số tiền phải trả là: 5 + 5 + 4 + 3 + 5 = 22
Tổng nhỏ nhất
Nhập vào \(1\) số nguyên dương \(n\). Hãy tìm cách chia số \(n\) thành tích \(2\) số nguyên dương \(a\) và \(b\) sao cho tổng của chúng là nhỏ nhất.
Input
- Một số nguyên \(n\) (\(1 \le n \le 10^{9}\)).
Output
- In ra hai số nguyên dương \(a\) và \(b\) (\(a \le b\)) thoả mãn đề bài.
Example
Test 1
Input
6
Output
2 3
Test 2
Input
8
Output
2 4
Chia bánh
Bạn muốn chia \(𝑛\) cái bánh cho \(𝑚\) người, ban đầu mỗi cái bánh là một phần. Công cụ duy nhất bạn có là một dao cắt bánh, ở mỗi thao tác cắt, bạn được chia một phần bánh thành \(2\) phần với tỉ lệ tùy ý. Hãy tìm cách dùng ít thao tác cắt nhất để chia bánh thành các phần chia cho \(𝑚\) người, mỗi phần thuộc về đúng một người và lượng bánh mỗi người được nhận là bằng nhau.
Input
- Gồm một dòng chứa hai số nguyên dương \(𝑛, 𝑚 \le 10^{18}\)
Output
- Ghi ra một số nguyên duy nhất là số thao tác cắt phải sử dụng
Example
Tổ Tiên Chung Gần Nhất
ami có một cái cây gốc ở 1 và \(q\) truy vấn có dạng \(u\) \(v\). Hãy tìm tổ tiên chung gần nhất của \(u\) và \(v\).
Input
- Dòng đầu tiên chứa \(t\) là số câu hỏi.
Mỗi câu hỏi có dạng sau:
-
Dòng đầu tiên chứa \(1\) số nguyên \(N\) là số đỉnh của cây.
-
\(N\) dòng tiếp theo, mỗi dòng \(i\) bắt đầu bằng \(1\) số nguyên \(k\), theo sau đó là \(k\) số \(a_1, a_2,...., a_k\) là các nút con của đỉnh \(i\).
-
Sau đó là một số nguyên dương \(q\) - số lượng truy vấn.
\(Q\) dòng tiếp theo, mỗi dòng chứa \(2\) số nguyên \(u\) và \(v\) là một câu hỏi.
Output
- \(Q\) dòng, mỗi dòng là tổ tiên chung gần nhất tương ứng.
Constraints
- \(1 \leq u , v \leq N\)
- \(1 \leq N \leq 1000\).
- \(1 \leq Q \leq 3000\).