码迷,mamicode.com
首页 > 其他好文 > 详细

分巧克力

时间:2018-02-21 11:40:44      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:pac   efi   work   def   open   post   gpo   ==   scanf   

二分

#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\n",mid);
    return 0;  
}

 

分巧克力

标签:pac   efi   work   def   open   post   gpo   ==   scanf   

原文地址:https://www.cnblogs.com/TQCAI/p/8456330.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!