P1001 A+B Problem 题解

· · 个人记录

原题传送

我们用二分的方法来做这道题即可完成:二分查找 a+b 的答案即可。

#include<bits/stdc++.h>
using namespace std;
int main(){
    long long a,b,l=-2e9,r=2e9,mi;//定义变量
    //注意abs(a),abs(b)<=1e9,所以这里的l和r需要到2e9。
    cin>>a>>b;//输入a和b
    while(l<=r){//二分模版
        mi=(l+r)/2;//找中间的点
        if(mi<a+b)l=mi+1;//小了就加
        else if(mi>a+b)r=mi-1;//大了就减
        else break;//等于就结束循环
    }
    cout<<mi<<endl;//输出答案
    return 0;
}

最后:不开 long long 不会见祖宗。