原题链接:http://codeforces.com/contest/1047/problem/B
Cover Points
There are n n n points on the plane, ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x n , y n ) (x_1,y_1),(x_2,y_2),\cdots,(x_n,y_n) (x1,y1),(x2,y2),⋯,(xn,yn).
You need to place an isosceles triangle with two sides on the coordinate axis to cover all points (a point is covered if it lies inside the triangle or on the side of the triangle). Calculate the minimum length of the shorter side of the triangle.
Input
First line contains one integer n ( 1 ≤ n ≤ 1 0 5 ) n (1≤n≤10^5) n(1≤n≤105).
Each of the next n n n lines contains two integers x i x_i xi and y i ( 1 ≤ x i , y i ≤ 1 0 9 ) y_i (1≤x_i,y_i≤10^9) yi(1≤xi,yi≤109).
Output
Print the minimum length of the shorter side of the triangle. It can be proved that it’s always an integer.
Examples
input
3
1 1
1 2
2 1
output
3
input
4
1 1
1 2
2 1
2 2
output
4
Note
Illustration for the first example:

Illustration for the second example:

题解
算算每个点对应的等腰直角三角形的大小,取个 m a x max max即可。
代码
#include<bits/stdc++.h>
using namespace std;
int n,ans;
void in(){scanf("%d",&n);}
void ac()
{
for(int i=1,a,b;i<=n;++i)
scanf("%d%d",&a,&b),ans=max(ans,a+b);
printf("%d",ans);
}
int main(){in();ac();}
本文解析了CodeForces竞赛中题目B的解决方案,主要内容为如何利用等腰直角三角形覆盖平面上的多个点,并计算所需三角形短边的最小长度。通过遍历所有点并计算对应三角形大小,最终输出最小覆盖长度。
1119

被折叠的 条评论
为什么被折叠?



