| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Chân Dài | 500 (p) | 1.0s | 256M |
| 2 | Chênh lệch chiều cao | 750 (p) | 1.0s | 256M |
| 3 | Nhân Đoạn | 1000 (p) | 1.0s | 256M |
| 4 | Domino | 1500 (p) | 1.0s | 256M |
| 5 | Quy hoạch đô thị | 2500 (p) | 3.0s | 1G |
| 6 | Chia kẹo | 3500 (p) | 1.0s | 512M |
Hào và An là đôi bạn thân. Một hôm Hào và An quyết định đo thử xem chân của ai dài hơn: chân của Hào dài \(A\) mét và chân của An dài \(B\) mét.
Bạn hãy đưa ra người có chân dài hơn.
Vì có nhiều cặp số cần so sánh, dữ liệu vào gồm nhiều testcase trong cùng một lần chạy chương trình.
Nhập từ bàn phím, gồm:
Ràng buộc: \(0 < A, B \le 10^{1000}\).
Với mỗi testcase, in ra một dòng chứa một kí tự duy nhất:
H nếu chân Hào dài hơn (\(A > B\));A nếu chân An dài hơn (\(A < B\));= nếu chân hai người bằng nhau (\(A = B\)).Kết quả của \(T\) testcase được in lần lượt theo đúng thứ tự xuất hiện trong dữ liệu vào, mỗi kết quả một dòng.
Input
3
10
9
9
10
25
25
H
A
=
Giải thích:
H.A.=.Subtask 1 (40% số test tương ứng 40% số điểm): \(0 < A, B \le 10^{18}\) (đủ nhỏ để đọc trực tiếp bằng kiểu 64-bit có sẵn của ngôn ngữ lập trình), với mọi testcase trong file.
Subtask 2 (60% số test tương ứng 60% số điểm): \(0 < A, B \le 10^{1000}\) — không có ràng buộc gì thêm.
\(A\) và \(B\) luôn được cho dưới dạng chuẩn, không có chữ số 0 vô nghĩa ở đầu (ví dụ 007 sẽ không xuất hiện trong dữ liệu vào).
Lớp học nọ có \(n\) bạn nam lần lượt có chiều cao là \(a_1, a_2, \ldots, a_n\) và \(m\) bạn nữ có chiều cao lần lượt là \(b_1, b_2, \ldots, b_m\).
Với mỗi bạn nam, hãy cho biết chênh lệch chiều cao nhỏ nhất giữa bạn nam đó với một bạn nữ bất kì trong lớp.
Nhập từ bàn phím (standard input):
In ra màn hình (standard output) \(n\) số lần lượt là chênh lệch chiều cao nhỏ nhất giữa bạn nam thứ \(i\) với một bạn nữ bất kì trong lớp.
\(n, m, a_i, b_i \le 10^5\).
Subtask 1 (50% số test tương ứng 50% số điểm): \(n, m \le 10^3\).
Input
4 5
130 140 150 160
125 136 169 190 110
Output
5 4 14 9
Quốc Dũng có một dãy \(a\) gồm \(n\) phần tử, các phần tử được đánh số từ 1 đến \(n\). Trong lớp của Quốc Dũng có Minh Hiếu và Phúc Hiếu là đôi bạn cùng lớp 10I. Minh Hiếu và Phúc Hiếu mỗi người chọn một chỉ số (hai chỉ số này không nhất thiết phải khác nhau), làm cho các phần tử có chỉ số nằm giữa hai chỉ số mà Minh Hiếu và Phúc Hiếu chọn (tính cả hai đầu mút) đều được nhân lên \(X\) lần.
Ví dụ dãy \(a = [5, 3, 7, 1]\), \(X = 2\): nếu Minh Hiếu chọn chỉ số 3, Phúc Hiếu chọn chỉ số 2 thì các phần tử ở chỉ số 2 và 3 được nhân đôi, dãy biến thành \([5, 6, 14, 1]\).
Hãy đưa ra tổng các phần tử của mảng nhỏ nhất có thể sau khi hai bạn chọn 2 chỉ số bất kì (không nhất thiết khác nhau) rồi thực hiện phép nhân lên mảng như trên.
Nhập từ bàn phím (standard input), gồm 2 dòng:
In ra màn hình (standard output) một số nguyên duy nhất là tổng nhỏ nhất có thể của mảng sau khi thực hiện phép nhân.
\(-1000 \le X \le 1000\).
Subtask 1 (30% số test tương ứng 30% số điểm): \(n \le 10^2\).
Input 1
4 2
5 3 7 1
17
Input 2
3 0
-1 -2 -3
-5
Paolo có \(n\) thẻ bài xếp thành một hàng ngang, đánh số từ trái sang phải từ 1 đến \(n\). Mỗi thẻ bài có hai mặt: một mặt ghi số nguyên dương \(a_i\), mặt còn lại ghi số nguyên dương \(b_i\). Ban đầu, tất cả thẻ bài được đặt sao cho mặt ghi \(a_i\) ngửa lên, mặt ghi \(b_i\) úp xuống.
Trong một lượt chơi, Paolo chọn một số nguyên dương \(T\) rồi lật tất cả những thẻ bài có số ghi ở mặt đang ngửa (hiện tại) nhỏ hơn hoặc bằng \(T\).
Paolo chơi \(k\) lượt: ở lượt thứ \(i\), Paolo chọn số nguyên dương \(T_i\).
Sau khi chơi đủ \(k\) lượt, hãy tính tổng \(n\) số ghi trên mặt đang ngửa của các thẻ bài.
Nhập từ bàn phím (standard input):
In ra màn hình (standard output) một số nguyên dương duy nhất là tổng \(n\) số ghi trên mặt ngửa của \(n\) thẻ bài.
Input
5 3
2 10
1 9
3 8
7 7
4 6
8
2
9
Output
25
Giải thích: Ban đầu, các thẻ bài được xếp như sau (mặt ngửa/mặt úp): \(\dfrac{2}{10}, \dfrac{1}{9}, \dfrac{3}{8}, \dfrac{7}{7}, \dfrac{4}{6}\).
Tổng: \(10 + 1 + 3 + 7 + 4 = 25\).