4 条题解

  • 0
    @ 2026-1-5 12:54:21

    容易发现答案具有单调性:

    • 当答案过大时,答案就大于结果;
    • 当答案过小时,答案就小于结果。

    于是我们可以用二分解决。

    #include<bits/stdc++.h>
    #define int long long
    using namespace std;
    int a,b,l=-1,r=LLONG_MAX;
    signed main(){
        scanf("%lld%lld",&a,&b);
        while(l+1<r){
            int mid=(l+r)>>1;
            if(mid>a+b) r=mid;
            if(mid<a+b) l=mid;
            if(mid==a+b){
                printf("%lld",mid);
                break;
            }
        }
        return 0;
    }
    

    信息

    ID
    1
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    1652
    已通过
    396
    上传者