#include<bits/stdc++.h>
using namespace std;
int n,s,e,sum,ret;
vector<pair<int,int>> v;
int main(){
cin >> n;
for(int i = 0; i <n; i++){
cin >> s >> e;
v.push_back({s,e});
}
sort(v.begin(), v.end());
for(int i = 0; i < n; i++){
if(i+1 < n && v[i].first + v[i].second > v[i+1].first){
v[i+1].first = v[i].first + v[i].second;
}
}
cout << v[n-1].first + v[n-1].second << '\n';
}
시작 시간을 기준으로 정렬한 뒤 시작 위치를 시작 위치 + 걸리는 시간으로 이동 시켜주면 쉽게 풀 수 있는 문제였다.
정렬 해본다면 금방 풀 수 있는 문제였다.