首页 > 其他分享 >P8647 [蓝桥杯 2017 省 AB] 分巧克力

P8647 [蓝桥杯 2017 省 AB] 分巧克力

时间:2023-12-22 17:44:44浏览次数:34  
标签:ch P8647 mid 蓝桥 int read 2017 include

二分

#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cstring>
#define For(i, j, n) for(int i = j ; i <= n ; ++i)
using namespace std;

const int N = 1e5 + 5;

int n, k, upb;
int h[N], w[N];

inline int read()
{
    int x = 0;char ch = getchar();
    while(ch < '0' || ch > '9') ch = getchar();
    while(ch >= '0' && ch <= '9') x = x * 10 + ch - '0', ch = getchar();
    return x;
}

bool check(int x)
{
    int res = 0;
    for(int i = 1; i <= n; i++)
        res += (h[i] / x) * (w[i] / x);
    return res >= k;
}

int main()
{
    n = read();k =read();
    for(int i = 1; i <= n; i++)
    {
        h[i] = read();w[i] = read();
        upb = max(upb, min(h[i], w[i])); 
    }
    int l = 1, r = upb;
    while(l < r)
    {
        int mid = l + r + 1>> 1;
        if(check(mid))
            l = mid;
        else r = mid - 1;
    }
    printf("%d\n", l);
    return 0;
}

要注意这里的括号:

res += (h[i] / x) * (w[i] / x);

如果不加入括号的话,由于优先级和向下取整的问题,会WA

标签:ch,P8647,mid,蓝桥,int,read,2017,include
From: https://www.cnblogs.com/smartljy/p/17922080.html

相关文章

  • P8646 [蓝桥杯 2017 省 AB] 包子凑数
    根据裴蜀定理可得INF的情况是所有数的最大公约数非1而我们的完全背包的上限是多少呢?设置为Σai即可,因为把每一个ai用上之后的集合,和ai可以重复使用的集合,只差了整数倍个ai,因此可达性是完全一致的,这里N<=100,ai<=100,所以我们把这个背包的上限设置为10000.#include<bits/stdc+......
  • 【每周例题】蓝桥杯 C++ 区间最大和
    区间最大和题目蓝桥杯区间最大和题目分析  这道题涉及到了区间问题,我们首先要了解规定的该区间范围:1<p且p+k一1<n,我们将其转化:1<p<n-k+1,当我们得到这个区间的时候,需要求该区间的最大和可以用双重for循环搞定。代码 #include<iostream>usingnamespacestd;int......
  • cpp环境搭建 - vs2017编译CMakeLists项目(Box2dLite)
    box2dlite地址:GitHub-erincatto/box2d-lite:Asmall2Dphysicsengine vs2017不支持utf-8withoutbom问题box2dlite的源码文件是utf-8withoutbom的,如果在里面写了中文注释,就会出现编译错误解决办法:将文件编码改成utf-8带bom的(这边没有在附加选项加/utf-8貌似也没问题......
  • IDE之VS:Visual Studio的简介(包括 VS2013、VS2015、VS2017、VS2019、VS2022)、安装、
    原文链接:https://blog.csdn.net/qq_41185868/article/details/81052119最近开始使用vs2019,应该是最新的版本。之前都是vs2015,感觉19更智能,兼容性更好,速度也更快。详细了解下这几个版本。1、简介:MicrosoftVisualStudio(简称VS)是美国微软公司的开发工具包系列产品,功能完备的I......
  • [SDOI2017] 树点涂色
    [SDOI2017]树点涂色题目描述Bob有一棵\(n\)个点的有根树,其中\(1\)号点是根节点。Bob在每个点上涂了颜色,并且每个点上的颜色不同。定义一条路径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色。Bob可能会进行这几种操作:1x表示把点\(x\)到根节点的路......
  • 计概杂烩2017
    2017计概期末探险家丁丁#include<stdio.h>/*C语言初始模板程序*/intmain(void){doublef;scanf("%lf",&f);printf("%.5lf",5.0*(f-32)/9); return0;}摘礼物#include<stdio.h>inta[2000];intmain(void){intn,k,ans......
  • 蓝桥杯 矩形拼接
    题目位置让我想起了2019四川省赛的一道题。如果三个矩形中有两个矩形各有一条边相等,则至少6条边;若3个矩形都有一条边相等,则至少4条边。如果有一个矩形的一条边是另外两个矩形的某条边之和,则至少6条边;若再次基础上,另外两个矩形的另外一条边相等,则至少4条边用全排列+循环,反正枚......
  • 蓝桥杯 消除游戏
    题目位置主要需要用到模拟链表。做法是先整体扫一遍,将要删除的位置存下来。然后在删除这些位置的过程中,判断该位置的左右是否需要在下一轮删除,如果需要,就存下来。这样循环,直到没有位置需要删除。细节看代码N=int(1e6)+10pre=[i-1foriinrange(N)]nxt=[i+1fori......
  • 蓝桥杯 寻找整数
    题目扩展中国剩余定理,将所有同余方程合并为一个设有\(x\equivr_1(mod\m_1)\),\(x\equivr_2(mod\m_2)\),即\(x=m_1p+r_1=m_2q+r2\)则有\(m_1p-m_2q=r_2-r_1\),由扩展欧几里得算法,得:方程\(m_1p-m_2q=gcd(m_1,m_2)\)特解\(p',q'\)对于原方程:当\((r2-r1)\%gcd(m_1,m_......
  • 第八届蓝桥杯赛题 分巧克力(用二分法实现)
    今日一道编程题  第八届蓝桥杯赛题中的分巧克力问题(用二分法实现)问题描述如下:儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是HixWi的方格组成的长方形。为了公平起见,小明需要从这N块巧克力中切出K块巧克力分给......