2774.cpp

来自「poj的几道题」· C++ 代码 · 共 37 行

CPP
37
字号
#include<iostream> 
using namespace std;
int main()
{
    long n,k,j,temp[10001],i,max=0,tag_min=0;
    long tag_max,tag,tt=0,max_last=0,sum,ts=0;
    cin>>n>>k;
    for(i=1;i<=n;i++)
        {
          cin>>temp[i];
          if(i==1) max=temp[i];
          else if(max<=temp[i]) max=temp[i];             
        }
    tag_max=max;
    while(tag_min<tag_max-1)
    {
      
       tag=(tag_min+tag_max)/2;
       sum=0;
       tt=0;                    
       for(j=1;j<=n;j++)
      {
       sum=sum+temp[j]/tag;
       if(sum>=k) {max_last=tag;tt=1;break;}                  
      }                                
       if(tt==1) tag_min=tag;
       else tag_max=tag;                    
                           
                           }
 if(max_last!=0)
    cout<<max_last<<endl;
 else cout<<"0"<<endl;   

    return 0;    
 
    }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?