每日博客
分巧克力
题目描述:
儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。
小明一共有Ⅳ块巧克力,其中第i块是H;× Wi的方格组成的长方形。为了公平起见,
小明需要从这N块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:
1.形状是正方形,边长是整数;
2.大小相同;
例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。
当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?
【输入描述】
第一行包含两个整数N, K (1≤N,K ≤105)。
以下N行每行包含两个整数H,Wi (1 ≤H, W;≤105)。
输入保证每位小朋友至少能获得一块1x1的巧克力。
【输出描述】
输出切出的正方形巧克力最大可能的边长。
#include <iostream> using namespace std; int L[100005]; int W[100005]; int main() { int N,K; cin>>N>>K; for(int i = 1; i <= N; i++) cin>>L[i]>>W[i]; int i = 10000; while(true) { int sum = 0, num1, num2; for(int j = 1; j <= N; j++) { num1 = L[j] / i; num2 = W[j] / i; sum += num1 * num2; } if(sum >= K) break; i--; } cout<<i; return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!