问题标题: 酷丁编程:7092 载重(load)

0
0
已解决
蔡乐毅
蔡乐毅
高级光能
高级光能

#include<iostream>

using namespace std;

long long n,m,a[100005],maxn=0;

bool c(int x){

    int cnt=0;

    for(int i=1;i<=n;i++){

        cnt+=a[i];

    }

    return cnt>=m;

}

int main(){

    cin>>n>>m;

    for(int i=1;i<=n;i++){

        cin>>a[i];

        maxn=max(maxn,a[i]); 

    }

    int l=0,r=maxn,ans;

    while(l<=r){

        int mid =(l+r)/2;

        if(c(mid)){

            ans=mid;

            l=mid+1;

        }else{

            r=mid-1;

        }

    }

    cout<<ans;

    return 0;

}


0
已采纳
毕博雨
毕博雨
新手天翼
新手天翼

判断函数写错了

假设一个重量(指的是mid哈),如果这个飞船下一个没法上去,就要再派一个飞船,否则就要用还能载的重量减去上来的人的重量,最后看派来的飞船是否比规定的小

0
0
我要回答