fork download
  1. #include<stdio.h>
  2. #include<algorithm>
  3. using namespace std;
  4. struct xy { int x, y;}a[121212];
  5. bool sort_y(xy a, xy b) {
  6. if (a.y != b.y)return a.y < b.y;
  7. return a.x < b.x;
  8. }
  9. int max(int a, int b) { if (a < b)return b; return a; }
  10. int main() {
  11. int n, i;
  12. scanf("%d", &n);
  13. for (i = 0; i < n; i++) {
  14. scanf("%d%d", &a[i].x, &a[i].y);
  15. }
  16. sort(a, a + n,sort_y);
  17. int p1 = 0, p2 = n - 1;
  18. int ans = 0;
  19. while (p1 <= p2) {
  20. ans = max(ans, a[p1].y + a[p2].y);
  21. if (a[p1].x == a[p2].x) p1++, p2--;
  22. else if (a[p1].x < a[p2].x) a[p2].x -= a[p1++].x;
  23. else a[p1].x -= a[p2--].x;
  24. }
  25. printf("%d", ans);
  26. return 0;
  27. }
Success #stdin #stdout 0s 4472KB
stdin
3
1 8
2 5
1 2
stdout
10