牛牛晾衣服

2021-10-08 06:24:35 字數 876 閱讀 2823

題目描述

牛牛有n件帶水的衣服,乾燥衣服有兩種方式。 一、是用烘乾機,可以每分鐘烤乾衣服的k滴水。 二、是自然烘乾,每分鐘衣服會自然烘乾1滴水。 烘乾機比較小,每次只能放進一件衣服。 注意,使用烘乾機的時候,其他衣服仍然可以保持自然烘乾狀態,現在牛牛想知道最少要多少時間可以把衣服全烘乾。

題目鏈結

思路:

二分查詢答案,對每一次二分出的時間進行判斷是否可以晾乾所有衣服。

判斷x時間內是否可以晾乾衣服:

如果第i件衣服的雨水小於或等於x 則直接自然烘乾

對於第i件衣服的雨水大於x,則需要求出在x時間內所需的最少烘乾時間。

假設這件衣服直接自然烘乾,則還剩a[i]-x滴雨水

所有必須要用烘乾機,而烘乾機比自然烘乾多烘乾k-1滴水, 則在x時間內該件衣服必須要用

(a[i]-x)/(k-1)(向上取整)分鐘用烘乾機,其它時間自然烘乾

#include

#define ll long long

using

namespace std;

int a[

100001];

int n,k;

interfen

(ll sj)

}return1;

}int

main()

sort

(a,a+n)

; ll right=a[n-1]

;//最多用的時間

ll left=1;

//最少用的時間

while

(leftelse

} cout

}

牛牛晾衣服

牛牛有n件帶水的衣服,乾燥衣服有兩種方式。一 是用烘乾機,可以每分鐘烤乾衣服的k滴水。二 是自然烘乾,每分鐘衣服會自然烘乾1滴水。烘乾機比較小,每次只能放進一件衣服。注意,使用烘乾機的時候,其他衣服仍然可以保持自然烘乾狀態,現在牛牛想知道最少要多少時間可以把衣服全烘乾。所以每件衣服 只能烘乾一秒 然...

C 牛牛晾衣服

牛牛有n件帶水的衣服,乾燥衣服有兩種方式。一 是用烘乾機,可以每分鐘烤乾衣服的k滴水。二 是自然烘乾,每分鐘衣服會自然烘乾1滴水。烘乾機比較小,每次只能放進一件衣服。注意,使用烘乾機的時候,其他衣服仍然可以保持自然烘乾狀態,現在牛牛想知道最少要多少時間可以把衣服全烘乾。輸入 3,2,3,9 5輸出 ...

牛牛涼衣服

牛牛有n件帶水的衣服,乾燥衣服有兩種方式。一 是用烘乾機,可以每分鐘烤乾衣服的k滴水。二 是自然烘乾,每分鐘衣服會自然烘乾1滴水。烘乾機比較小,每次只能放進一件衣服。注意,使用烘乾機的時候,其他衣服仍然可以保持自然烘乾狀態,現在牛牛想知道最少要多少時間可以把衣服全烘乾。本來想的貪心,如下,class...