魔法學院放暑假了,wc和他的一幫魔友一起去弗爾夫斯基山脈玩。莫伊拉同學突然想划船到對岸找被削的mercy玩,這裡的每一艘船都是同一型號,能承受的重量都是一樣的,並且每艘船都可以坐乙個或者兩個人。wc他們共有n個人,現在我們知道他們每個人的質量,而且每個人體重也不超過船的承重。可惜經費有限,他們必須租盡可能少的船,請問他們最少要租幾艘船?
input
第一行包含兩個正整數n 和m ,n<=10^4,m<=2*10^9,表示人的數量和船的最大承重。 接下來n行,每行乙個正整數,表示每個人的體重。體重不超過m。
output
一行乙個整數表示最少需要的獨木舟數。
sample input
3 6123
sample output
#includeusing namespace std;
int main()
sort(v.begin(),v.end());//先把人按體重排序
l=0,r=n-1;
while(l<=r)
else
} cout<}
return 0;
}
51Nod1799 二分答案
lyk最近在研究二分答案類的問題。對於乙個有n個互不相同的數且從小到大的正整數數列a 其中最大值不超過n 若要找乙個在a中出現過的數字m,乙個正確的二分程式是這樣子的 l 1 r n mid l r 2 while l r 最終a r 一定等於m。但是這個和諧的程式被熊孩子打亂了。熊孩子在一開始就將...
51nod 1686 二分 尺取法
題意 給出陣列,區間的值為其重數 這個重數是指區間內的重數,不是整個陣列的重數 求解第k大小的區間值 重數 題解 思路 二分 尺取法 由上知 重數的範圍為 1 100000 重數值大的區間一定包括重數值小的區間 因此找到有大於等於k個區間值為mid就是答案了 注意 有可能第k大的值和第k 1個 或者...
51Nod 1279 扔盤子 二分
這道題如果暴力走 o n 2 肯定超時 然後看資料5 10 4 時間1s 呃 o nlogn 一下是能過的 然後 在想我為什麼要o n 2 走 肯定會有重複的啊 那怎麼省略掉這些呢 很簡單 如果我這個圓盤往下掉 第一層的寬度小於第二層的寬度 那麼很明顯 第二層的寬度是沒有用處的 那麼有用的是什麼呢 ...