Một nhà máy có \(n\) máy có thể được sử dụng để sản xuất sản phẩm. Mục tiêu của bạn là sản xuất tổng cộng \(t\) sản phẩm.
Với mỗi máy, bạn biết số giây mà máy đó cần để sản xuất một sản phẩm. Các máy có thể hoạt động đồng thời và bạn có thể tự do quyết định lịch hoạt động của chúng.
Hãy xác định thời gian ngắn nhất cần thiết để sản xuất đủ \(t\) sản phẩm.
Dòng đầu tiên chứa hai số nguyên \(n\) và \(t\): số lượng máy và số lượng sản phẩm cần sản xuất.
Dòng tiếp theo chứa \(n\) số nguyên:
Trong đó \(k_i\) là thời gian cần thiết để máy thứ \(i\) sản xuất một sản phẩm.
In ra một số nguyên duy nhất: thời gian nhỏ nhất cần thiết để sản xuất đủ \(t\) sản phẩm.
3 7
3 2 5
8
Trong \(8\) giây:
Tổng cộng, ba máy sản xuất được \(7\) sản phẩm.
Bạn được cho một mảng gồm \(n\) số nguyên dương.
Nhiệm vụ của bạn là chia mảng thành \(k\) đoạn con liên tiếp sao cho tổng lớn nhất trong một đoạn con là nhỏ nhất có thể.
Dòng đầu tiên chứa hai số nguyên \(n\) và \(k\): kích thước của mảng và số lượng đoạn con cần chia.
Dòng tiếp theo chứa \(n\) số nguyên:
Đây là các phần tử của mảng.
In ra một số nguyên duy nhất: tổng lớn nhất của một đoạn con trong cách chia tối ưu.
5 3
2 4 7 3 5
8
Một cách chia tối ưu là:
Tổng của các đoạn con lần lượt là:
Tổng lớn nhất là \(8\).
Có một khách sạn lớn và \(n\) khách hàng sắp đến. Mỗi khách hàng muốn ở trong một phòng riêng.
Bạn biết ngày đến và ngày rời đi của từng khách hàng. Hai khách hàng có thể sử dụng cùng một phòng nếu ngày rời đi của khách hàng thứ nhất sớm hơn ngày đến của khách hàng thứ hai.
Hãy xác định số lượng phòng ít nhất cần thiết để phục vụ tất cả khách hàng và cách phân phòng cho từng người.
Dòng đầu tiên chứa số nguyên \(n\): số lượng khách hàng.
Trong \(n\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(a\) và \(b\): ngày đến và ngày rời đi của một khách hàng.
Dòng đầu tiên in ra số nguyên \(k\): số lượng phòng ít nhất cần sử dụng.
Dòng thứ hai in ra \(n\) số nguyên. Số thứ \(i\) là số phòng được phân cho khách hàng thứ \(i\) theo đúng thứ tự xuất hiện trong dữ liệu vào.
Các phòng được đánh số:
Bạn có thể in ra bất kỳ cách phân phòng hợp lệ nào.
3
1 2
2 4
4 4
2
1 2 1
Có \(N\) hòn đá được đánh số từ \(1\) đến \(N\). Hòn đá thứ \(i\) có độ cao là \(h_i\).
Một chú ếch ban đầu đứng ở hòn đá số \(1\). Chú ếch sẽ thực hiện một số lần các hành động sau để đến được hòn đá số \(N\):
Hãy tìm tổng chi phí nhỏ nhất để chú ếch đi đến hòn đá số \(N\).
Dữ liệu vào được cho theo định dạng:
N
h1 h2 ... hN
In ra một số nguyên duy nhất: tổng chi phí nhỏ nhất để chú ếch đến được hòn đá số \(N\).
4
10 30 40 20
30
Nếu chú ếch đi theo đường:
thì tổng chi phí là:
Bạn được cho một mảng gồm \(n\) số nguyên. Bạn muốn thay đổi mảng sao cho mảng trở thành không giảm, nghĩa là mỗi phần tử phải lớn hơn hoặc bằng phần tử đứng ngay trước nó.
Trong mỗi thao tác, bạn có thể tăng giá trị của một phần tử lên \(1\).
Hãy xác định số thao tác ít nhất cần thực hiện.
Dòng đầu tiên chứa số nguyên \(n\): kích thước của mảng.
Dòng thứ hai chứa \(n\) số nguyên:
Đây là các phần tử của mảng.
In ra một số nguyên duy nhất: số thao tác ít nhất cần thực hiện.
5
3 2 5 1 7
5
Bạn được cho tất cả các số nguyên từ \(1\) đến \(n\), ngoại trừ một số bị thiếu.
Nhiệm vụ của bạn là tìm số bị thiếu đó.
Dòng đầu tiên chứa số nguyên \(n\).
Dòng thứ hai chứa \(n-1\) số nguyên phân biệt. Mỗi số đều nằm trong đoạn từ \(1\) đến \(n\).
In ra số nguyên bị thiếu.
5
2 3 1 5
4