Professional Documents
Culture Documents
LOOP
Nhập từ bàn phím số n, sau đó là n dòng, dòng thứ i ghi 2 số nguyên dương a[i], b[i].
Mỗi dòng a[i], b[i] miêu tả một vòng lặp, lặp lại a[i] lần, và trong mỗi lần lặp, cộng biến kết quả lên b[i]. Vòng
lặp thứ i + 1 nằm trong vòng lặp thứ i. Biến kết quả ban đầu có giá trị 0.
In ra kết quả lấy dư theo 1000000007.
Ví dụ cho n = 2:
Dap_an = 0
For (i = 0; i < a[1]; i++)
For (j = 0; j < a[2]; j++)
Dap_an += b[2]
Dap_an += b[1]
Print(Dap_an)
GIỚI HẠN
n ≤ 106, a[i], b[i] ≤ 109 với mọi 1 ≤ i ≤ n
SUBTASK
Subtask 1 (20 điểm): Tích a[i] với mọi i từ 1 đến n ≤ 106
Subtask 2 (30 điểm): n ≤ 1000
Subtask 3 (50 điểm): Không có điều kiện gì thêm
1
WORK
Nhập từ bàn phím 3 số nguyên dương k, n, m, lần lượt là số lượng ngày, số lượng công việc và số lượng kỳ
nghỉ.
Sau đó là n dòng miêu tả n công việc, mỗi dòng ghi 2 số nguyên dương a[i], b[i], lần lượt là số lượng ngày thực
hiện công việc và số lượng tiền nhận được nếu thực hiện xong.
Tiếp theo là m dòng miêu tả m kỳ nghỉ, mỗi dòng ghi 3 số nguyên dương x[i], y[i], z[i], là số lượng ngày nghỉ,
số điểm vui vẻ nhận được và số tiền phải trả để có thể đi nghỉ.
Tìm cách để sắp xếp lịch từ ngày 1 đến ngày k sao cho không công việc và kỳ nghỉ nào bị gối vào nhau, công
việc/kỳ nghỉ cuối cùng kết thúc trước ngày k + 1, số lượng tiền không bao giờ dưới 0 và tổng số điểm vui vẻ
nhận được là tối đa. In ra tổng số điểm vui vẻ tối đa nhận được.
Mỗi ngày chỉ có thể tham gia tối đa 1 công việc hoặc 1 kỳ nghỉ. Đã tham gia công việc hay kỳ nghỉ nào phải
tham gia trọn vẹn cả khoảng thời gian. Có thể có ngày nào đó không làm việc hay đi nghỉ. Một công việc hay 1
kỳ nghỉ có thể được lựa chọn nhiều lần.
GIỚI HẠN
+ k ≤ 1000
+ n, m ≤ 10
+ a[i] ≤ k, b[i] ≤ 10 với mọi 1 ≤ i ≤ n
+ x[i] ≤ k, y[i], z[i] ≤ 109 với mọi 1 ≤ i ≤ m
SUBTASK
Subtask 1 (20 điểm): k ≤ 10
Subtask 2 (20 điểm): k ≤ 20
Subtask 3 (10 điểm): n = 1, m = 1
Subtask 4 (50 điểm): Không có điều kiện gì thêm
Giải thích:
Ta sẽ dành 2 ngày đầu làm công việc thứ 2, kiếm 10 đồng. Sau đó, ta sẽ nghỉ ở kỳ nghỉ 2 hai lần, và đi kỳ nghỉ 1
một lần. Như thế, ta sẽ còn lại 0 đồng tiền và 22 điểm vui vẻ.
1
CORNER
Nhập từ bàn phím 2 số nguyên dương m, n. Sau đó nhập vào một bảng a có kích cỡ m × n.
Tìm cách đặt 1 số hình 2 x 2 bỏ 1 góc (hình thước thợ chữ L) vào bảng sao cho tổng các số bị lấp là tối đa.
GIỚI HẠN
2 ≤ n ≤ 10, m ≤ 1000, |a[i][j]| ≤ 109 với mọi 1 ≤ i ≤ n, 1 ≤ j ≤ m
SUBTASK
Subtask 1 (2 điểm): n = m = 2
Subtask 2 (3 điểm): n = 2, m = 3
Subtask 3 (5 điểm): a[i][j] = 1 với mọi 1 ≤ i ≤ n, 1 ≤ j ≤ m
Subtask 4 (10 điểm): n = 2
Subtask 5 (20 điểm): a[i][j] >= 0 với mọi 1 ≤ i ≤ n, 1 ≤ j ≤ n
Subtask 6 (60 điểm): Không có điều kiện gì thêm
Giải thích:
Ta sẽ lấp 3 hình 2 x 2 bỏ 1 góc như sau:
- Hình 1 lấp ô có giá trị 1, 2, và 5
- Hình 2 lấp ô có giá trị 3, 4, và 8
- Hình 3 lấp ô có giá trị 6, 7, và -2
2
HARD
Nhập từ bàn phím số nguyên không âm n, k, và n số a[i]. Tìm số cặp i, j (i ≤ j) thỏa mãn a[i] × a[j] = k
GIỚI HẠN
1 ≤ n ≤ 10000, k < 264, a[i] < 264 với mọi 1 ≤ i ≤ n.
Giải thích:
Có 2 cặp thỏa mãn đề bài là: (3, 8) và (4, 6)