兒童節那天有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的巧克力。
輸出輸出切出的正方形巧克力最大可能的邊長。
樣例輸入:210
6556
樣例輸出:
2
這是一道二分題。。要是我。。肯定暴力了。qaq經驗不足,還需努力。
今天起晚了=-=
我們可以二分得到乙個邊長x,這個代表每個小朋友分得的巧克力的邊長
然後判斷這個邊長是否滿足要求,即是否可以分得k個小朋友
用(h[i] / x) * (w[i] / x)表示乙個原有得可以分的得正方形巧克力個數
然後累加就可以啦~
簡單二分好寫。上**啦
#include
using
namespace std;
typedef
long
long ll;
const
int n =
1e5+10;
int h[n]
;int w[n]
;int n, k;
bool
check
(int mid)
if(cnt >= k)
return
false;}
intmain()
while
(l < r)
else
} cout << l << endl;
return0;
}
2023年第八屆藍橋杯C B組D題
6x6的方格,沿著格仔的邊線剪開成兩部分。要求這兩部分的形狀完全相同。如圖所示就是可行的分割法。試計算 包括這3種分法在內,一共有多少種不同的分割方法。注意 旋轉對稱的屬於同一種分割法。請提交該整數,不要填寫任何多餘的內容或說明文字。哈嘍,我又來補題了,我發現真的 就2019特簡單吧 其餘的。300...
2023年第八屆藍橋杯C B組G題
小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的日...
第八屆藍橋杯C B組 日期問題
小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還有採用日 月 年的。更加麻煩的是,年份也都省略了前兩位,使得文獻上的乙個日期,存在很多可能的日...