洛谷P2676 超級書架

2022-03-17 17:06:42 字數 1393 閱讀 1548

題目描述

farmer john最近為奶牛們的圖書館添置了乙個巨大的書架,儘管它是如此的大,但它還是幾乎瞬間就被各種各樣的書塞滿了。現在,只有書架的頂上還留有一點空間。 所有n(1 <= n <= 20,000)頭奶牛都有乙個確定的身高h_i(1 <= h_i <= 10,000)。設所有奶牛身高的和為s。書架的高度為b,並且保證 1 <= b <= s < 2,000,000,007。 為了夠到比最高的那頭奶牛還要高的書架頂,奶牛們不得不象演雜技一般,一頭站在另一頭的背上,疊成一座「奶牛塔」。當然,這個塔的高度,就是塔中所有奶牛的身高之和。為了往書架頂上放東西,所有奶牛的身高和必須不小於書架的高度。顯然,塔中的奶牛數目越多,整座塔就越不穩定,於是奶牛們希望在能夠到書架頂的前提下,讓塔中奶牛的數目盡量少。 現在,奶牛們找到了你,希望你幫她們計算這個最小的數目。

輸入輸出格式

輸入格式:

* 第1行: 2個用空格隔開的整數:n 和 b * 第2..n+1行: 第i+1行是1個整數:h_i

輸出格式:

* 第1行: 輸出1個整數,即最少要多少頭奶牛疊成塔,才能夠到書架頂部

輸入輸出樣例

輸入樣例#1

6 40618

1113

1911

輸出樣例#1

3說明

輸入說明:

一共有6頭奶牛,書架的高度為40,奶牛們的身高在6..19之間。

輸出說明:

一種只用3頭奶牛就達到高度40的方法:18+11+13。當然還有其他方法,在此不一一列出了。

演算法:

模擬、排序、貪心

分析:

這道題很水啦!先把輸入資料排個序,然後大的先算,小的後算,就ok了。

上**:

1 #include//

萬能標頭檔案

2using

namespace

std;

3long

long a[20010

],b,n;

4int

main()520

}21 }

嗯,就這樣了。

洛谷P2676 超級書架

farmer john最近為奶牛們的圖書館添置了乙個巨大的書架,儘管它是如此的大,但它還是幾乎瞬間就被各種各樣的書塞滿了。現在,只有書架的頂上還留有一點空間。所有n 1 n 20,000 頭奶牛都有乙個確定的身高h i 1 h i 10,000 設所有奶牛身高的和為s。書架的高度為b,並且保證 1 ...

洛谷 P2676 超級書架

farmer john最近為奶牛們的圖書館添置了乙個巨大的書架,儘管它是如此的大,但它還是幾乎瞬間就被各種各樣的書塞滿了。現在,只有書架的頂上還留有一點空間。所有n 1 n 20,000 頭奶牛都有乙個確定的身高h i 1 h i 10,000 設所有奶牛身高的和為s。書架的高度為b,並且保證 1 ...

洛谷P2676 超級書架

farmer john最近為奶牛們的圖書館添置了乙個巨大的書架,儘管它是如此的大,但它還是幾乎瞬間就被各種各樣的書塞滿了。現在,只有書架的頂上還留有一點空間。所有n 1 n 20,000 頭奶牛都有乙個確定的身高h i 1 h i 10,000 設所有奶牛身高的和為s。書架的高度為b,並且保證 1 ...