天天看點

LightOJ 1076 Get the Containers 二分答案InputOutputSample InputOutput for Sample InputNote

1076 - Get the Containers

Time Limit: 2 second(s)

Memory Limit: 32 MB

A conveyor belt has a number of vessels of different capacities each filled to brim with milk. The milk from conveyor belt is to be filled into ‘m‘ containers. The constraints are:

1.      Whenever milk from a vessel is poured into a container, the milk in the vessel must be completely poured into that container only. That is milk from same vessel cannot be poured into different containers.

2.      The milk from the vessel must be poured into the container in order which they appear in the conveyor belt. That is, you cannot randomly pick up a vessel from the conveyor belt and fill the container.

3.      The ith container must be filled with milk only from those vessels that appear earlier to those that fill jth container, for all i < j.

Given the number of containers m, you have to fill the containers with milk from all the vessels, without leaving any milk in the vessel. The containers need not necessarily have same capacity. You are given the liberty to assign any possible

capacities to them. Your job is to find out the minimal possible capacity of the container which has maximal capacity.

Input starts with an integer T (≤ 100), denoting the number of test cases.

Each case contains two integers n (1 ≤ n ≤ 1000), the number of vessels in the conveyor belt and then m (1 ≤ m ≤ 106), which specifies the number of containers to which you have to transfer the milk. The next

line contains the capacity c (1 ≤ c ≤ 106) of each vessel in order which they appear in the conveyor belt. Note that, milk is filled to the brim of any vessel. So the capacity of the vessel is equal to the amount of milk in it.

For each case, print the case number and the desired result. See the samples for exact formatting.

2

5 3

1 2 3 4 5

3 2

4 78 9

Case 1: 6

Case 2: 82

For the first case, the capacities of the three containers be 6, 4 and 5. So, we can pour milk from the first three vessels to the first container and the rest in other two containers. So, the maximum capacity of the container is 6. Suppose the capacities

of the containers be 3, 7 and 5. Then we can also pour the milk, however, the maximum capacity is 7. As we want to find the result, where the maximum capacity is as low as possible; the result is 6.

又是二分二分二分題。整數二分答案即可。題意是說,有一些等待灌裝的牛奶,要裝到一些容器裡。一個罐子中的牛奶隻能灌到一個容器裡,不能一個罐子倒到兩個容器。再有就是要求第i個容器裡必須裝第j個容器裝的以前的罐子的牛奶,并且必須滿足i < j。。。國文不好英語不好翻譯得不行。。。。簡單的說,不妨設第5個容器裝了第6個罐子的牛奶,那麼第4個容器隻能從1 - 5這些罐子中選牛奶來灌裝。然後就是給你n個罐子m個容器,分别告訴你這些罐子的牛奶容量,求這些容器的最小容量。

當然直接二分答案就行了,判斷的時候就是如果容器的容量少了,那麼就會造成期望使用的容器數cnt大于要求數m,這時候就要增加容量;反之減少。