AT3517 Different Distribution
题意
其实就是让我们求最大的 \(x\) 与其相对应的 \(y\) 的和。
可以用简单的遍历每一个信息,如果比之前的 \(x\) 大,就更新 \(x\) 与 \(x+y\),最后输出即可。
时间复杂度为 \(O(n)\) 。
#include <bits/stdc++.h>
using namespace std;
int n,x,y,maxX=-0x3f3f3f3f,dsum;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>x>>y;
if(x>maxX){ // 更新维护的最大x与其对应的x+y
maxX=x;
dsum=x+y;
}
// 如果没有大于以前的就不更新
}
cout<<dsum<<endl; // 最后输出维护的x+y
return 0;
}