#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 1e5 + 10;
int n;
struct Node {
int v, w;
} a[N];
bool cmp(Node x, Node y) {
return x.v > y.v;
}
bool check(int x) {
priority_queue<int> l, r;
for (int i = 1; i <= n; i ++ )
if (a[i].v >= x) r.push(a[i].v + a[i].w - x);
else l.push(a[i].w);
while (!r.empty() && !l.empty())
if (r.top() >= l.top()) r.pop() , l.pop() ;
else return false;
if (l.empty()) return true;
return false;
}
signed main() {
int t;
cin >> t;
while (t -- ) {
cin >> n;
for (int i = 1; i <= n; i ++ )
scanf("%lld%lld", &a[i].v, &a[i].w);
sort(a + 1, a + 1 + n, cmp);
int l = 0, r = 1000000000;
while (l < r) {
int m = l + r + 1 >> 1;
if (check(m)) l = m;
else r = m - 1;
}
printf("%lld\n", l);
}
}
P9559 [SDCPC2023] Fast and Fat
最新推荐文章于 2024-08-31 15:48:32 发布