Problem p00359 (C++) — buggy submission, verdict: Time Limit Exceeded

#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define INF 1 << 30
#define LINF 1LL << 60

/*
<url:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0364>
?????????============================================================
 ??¢??????????°???????????????????????????§????????§????????§?????????
 ???????????????W??H
?????????????????¶??????????????????????????¢????????¢?????§???????????????
 ????????????????????¨?????????????????????????????????????????¨??????????????????????????????????????????
 ????????????x???????????????y ????????????(x, y)??§??¨????????????
 ??????????????????(0, 0)?????????????????????(W-1, H-1)??§?????????

 ??¢???????????£????????????????????????????????????????????????????????????????????¢???????????????
 ?????????????????????????????????????????°???????????????0, 0???????????????
 ?????¢??????????????¨????????????????????¨?????????????????¢??¨?????????
 ?????????????????¨??????????????????????????????????????\\??????????¨????????????????????????§?????¨????????¨?????§?????????

 ???????????????????????????????????????????????????????????¢?????????????????????????????????
 ??????????????¨?????????????????????????????¨??????????????????????????????????????¨?????????????????????????????????????????????????????????
 ??????????????????1 ?????????????????????????????????????¶?????????????
 ??????????????¨?????°?????¶?????????????????????????????¨????????????????????????????????????
 ??????????????????????????????????????±????????????????????¨?????????????????????????????????????§???????????????¨?????§?????????

 ?????¢?????§????????¨???????????±????????????????????¨??????????????????????????¨???????????????????????????????°????????????????????????????????????°????????????????????????
=================================================================

?§£??¬=============================================================

================================================================
*/
int main(void) {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int W, H, N;
  cin >> W >> H >> N;
  vector<int> X(W);
  for (int i = 0; i < N; i++) {
    int x, y;
    cin >> x >> y;
    X[x] = max(X[x], y);
  }
  int res = INF;
  int tmp = 0;
  for (int i = W - 1; i >= 0; i--) {
    res = min(res, i + tmp);
    tmp = max(tmp, X[i]);
  }
  cout << res << endl;
  return 0;
}

Error: TLE

Fixed submission:

#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
#define INF 1 << 30
#define LINF 1LL << 60

/*
<url:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0364>
?????????============================================================
 ??¢??????????°???????????????????????????§????????§????????§?????????
 ???????????????W??H
?????????????????¶??????????????????????????¢????????¢?????§???????????????
 ????????????????????¨?????????????????????????????????????????¨??????????????????????????????????????????
 ????????????x???????????????y ????????????(x, y)??§??¨????????????
 ??????????????????(0, 0)?????????????????????(W-1, H-1)??§?????????

 ??¢???????????£????????????????????????????????????????????????????????????????????¢???????????????
 ?????????????????????????????????????????°???????????????0, 0???????????????
 ?????¢??????????????¨????????????????????¨?????????????????¢??¨?????????
 ?????????????????¨??????????????????????????????????????\\??????????¨????????????????????????§?????¨????????¨?????§?????????

 ???????????????????????????????????????????????????????????¢?????????????????????????????????
 ??????????????¨?????????????????????????????¨??????????????????????????????????????¨?????????????????????????????????????????????????????????
 ??????????????????1 ?????????????????????????????????????¶?????????????
 ??????????????¨?????°?????¶?????????????????????????????¨????????????????????????????????????
 ??????????????????????????????????????±????????????????????¨?????????????????????????????????????§???????????????¨?????§?????????

 ?????¢?????§????????¨???????????±????????????????????¨??????????????????????????¨???????????????????????????????°????????????????????????????????????°????????????????????????
=================================================================

?§£??¬=============================================================

================================================================
*/
int main(void) {
  cin.tie(0);
  ios::sync_with_stdio(false);
  int W, H, N;
  cin >> W >> H >> N;
  vector<pii> xy(N);
  for (auto &in : xy)
    cin >> in.first >> in.second;
  sort(xy.begin(), xy.end());
  int res = INF;
  for (int i = 0; i < W; i++) {
    int T = i;
    auto it = upper_bound(xy.begin(), xy.end(), make_pair(i, INF)) - xy.begin();
    for (; it < N; it++) {
      T = max(T, i + xy[it].second);
    }
    res = min(res, T);
  }
  cout << res << endl;
  return 0;
}