package 第八届;
//2021年3月31日上午9:11:55
//writer:apple
import java.util.*;
import java.io.*;
public class 分巧克力 {
static int n;
static int m;
static class Cake{
int l;
int w;
int cnt;
public Cake(int ll,int ww,int cc)
{
l=ll;w=ww;cnt=cc;
}
}
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
StreamTokenizer st=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
st.nextToken();n=(int)st.nval;
st.nextToken();m=(int)st.nval;
Cake cake[]=new Cake[n];
for(int i=0;i<n;i++)
{
st.nextToken();int l=(int)st.nval;
st.nextToken();int h=(int)st.nval;
cake[i]=new Cake(l,h,0);
}
// System.out.println(minlen);
int low=1;int hei=100010;
while(low<hei)
{
int mid=(low+hei)>>1;//向下取整 l+1
long midsum=0;
for(int i=0;i<n;i++)
{
cake[i].cnt=(cake[i].l/mid)*(cake[i].w/mid);
midsum=(long)(midsum+cake[i].cnt);
}
if(midsum>=m)
{
low=mid+1;
}
else {
hei=mid;
}
}
System.out.println(low-1);
}
}
蓝桥杯 分巧克力
最新推荐文章于 2025-03-16 23:43:43 发布
这是一个Java程序,用于解决如何将巧克力切成满足特定数量的小块问题。程序通过二分查找法确定最小切割尺寸,以确保总小块数不少于指定数量。主要涉及数据结构和算法的应用。
374

被折叠的 条评论
为什么被折叠?



