zoukankan      html  css  js  c++  java
  • 分巧克力

    二分

    #include <stdio.h>
    #include <memory.h>
    #include <math.h>
    #include <string>
    #include <string.h>
    #include <vector>
    #include <set>
    #include <stack>
    #include <queue>
    #include <algorithm>
    #include <map>
    
    
    #define I scanf
    #define OL puts
    #define O printf
    #define F(a,b,c) for(a=b;a<c;a++)
    #define FF(a,b) for(a=0;a<b;a++)
    #define FG(a,b) for(a=b-1;a>=0;a--)
    #define LEN 3000
    #define MAX 0x06FFFFFF
    #define V vector<int>
    #define ll long long 
    
    using namespace std;
    
    typedef struct Sq{
        int h,w;
    }Sq; 
    Sq q[100001];
    
    int n;
    
    int getsum(int k){
        int ans=0,i;
        FF(i,n){
            ans+=(q[i].h/k)*(q[i].w/k);
        }
        return ans;
    }
    
    int main(){
    //    freopen("D:/CbWorkspace/blue_bridge/分巧克力.txt","r",stdin);    
        int i,j,k;
        int ub,lb=1,mid,t; 
        I("%d%d",&n,&k);
        FF(i,n){
            I("%d%d",&q[i].h,&q[i].w);
            ub=max(ub,q[i].h);
            ub=max(ub,q[i].w);
        }
        mid=(ub+lb)/2;
        while(1){
            t=getsum(mid);
            if(t<k){
                ub=mid;
            }else{
                lb=mid;
            }
            mid=(lb+ub)/2;
            if(lb==mid && ub-mid==1) break;
        }
        printf("%d
    ",mid);
        return 0;  
    }
  • 相关阅读:
    迷 宫
    车厢调度
    快速幂
    2804 最大最小数质因数
    3022 西天收费站
    2291 糖果堆
    1464 装箱问题 2
    Exists/In/Any/All/Contains操作符
    window.onscroll
    zIndex 属性设置元素的堆叠顺序。
  • 原文地址:https://www.cnblogs.com/TQCAI/p/8456330.html
Copyright © 2011-2022 走看看