藍橋杯 分巧克力 二分法

2022-04-30 07:21:08 字數 1029 閱讀 3112

問題描述

兒童節那天有k位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。

小明一共有n塊巧克力,其中第i塊是hi x wi的方格組成的長方形。

為了公平起見,小明需要從這 n 塊巧克力中切出k塊巧克力分給小朋友們。切出的巧克力需要滿足:

1. 形狀是正方形,邊長是整數

2. 大小相同

例如一塊6x5的巧克力可以切出6塊2x2的巧克力或者2塊3x3的巧克力。

當然小朋友們都希望得到的巧克力盡可能大,你能幫小hi計算出最大的邊長是多少麼?

輸入格式

第一行包含兩個整數n和k。(1 <= n, k <= 100000)

以下n行每行包含兩個整數hi和wi。(1 <= hi, wi <= 100000)

輸入保證每位小朋友至少能獲得一塊1x1的巧克力。

輸出格式

輸出切出的正方形巧克力最大可能的邊長。

樣例輸入

2 10

6 55 6

樣例輸出

2資料規模和約定

峰值記憶體消耗(含虛擬機器) < 256m

cpu消耗 < 1000ms

**://二分法的應用 搜尋值

#includeusing

namespace

std;

#define maxn 100000+200

struct

area;

area a[maxn];

intn,k,inf;

int maxhi =0,maxwi =0

;int split(int

h)

return

sum;

}void

solve()

for(int i=0;i<100;i++)

else

}cout

intmain()

solve();

return0;

}

相同型別 codevs1766分果子 鏈結

分巧克力 二分法

兒童節那天有k位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友們。小明一共有n塊巧克力,其中第i塊是hi x wi的方格組成的長方形。為了公平起見,小明需要從這 n 塊巧克力中切出k塊巧克力分給小朋友們。切出的巧克力需要滿足 1.形狀是正方形,邊長是整數 2.大小相同 例如一塊6x5的巧克力可...

藍橋杯 分巧克力 及二分法模板例題介紹

先介紹二分法的模板例題 洛谷p1577 有n條繩子,它們的長度分別為li。如果從它們中切割出k條長度相同的 繩子,這k條繩子每條最長能有多長?答案保留到小數點後2位 直接捨掉2為後的小數 輸入格式 第一行兩個整數n和k,接下來n行,描述了每條繩子的長度li。輸出格式 切割後每條繩子的最大長度。4 1...

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...