QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#36783 | #2442. Welcome Party | yyf_0404 | WA | 645ms | 11600kb | C++ | 1.5kb | 2022-06-28 19:42:23 | 2022-06-28 19:42:24 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
int n;
struct Pr
{
long long x, y;
bool operator < (const Pr& b)const
{
return y > b.y;
}
}a[100005];
struct Unit
{
long long x;
int id;
Unit(long long x = 0, int id = 0): x(x), id(id){}
bool operator < (const Unit& b)const
{
return x < b.x || x == b.x && id < b.id;
}
};
set<Unit> q;
void solve()
{
scanf("%d", &n);
for(int i = 0; i < n; i++)
scanf("%d%d", &a[i].x, &a[i].y);
sort(a, a + n);
for(int i = 0; i < n; i++)
q.insert(Unit(a[i].x, i));
long long maxn = -1, minn = 0x7fffffffffffffff;
for(int i = 0; i < n; i++){
q.erase(Unit(a[i].x, i));
if(i == n - 1){
minn = min(minn, abs(maxn - a[i].y));
continue;
}
auto p1 = q.lower_bound(Unit(a[i].y, -1));
if(p1 == q.end()) p1--;
auto p2 = p1;
while(p2 != q.begin() && p2->x > a[i].y) p2--;
if(i){
if(p1->x > maxn)
minn = min(minn, abs(p1->x - a[i].y));
if(p2->x > maxn)
minn = min(minn, abs(p2->x - a[i].y));
minn = min(minn, abs(maxn - a[i].y));
}
else
minn = min(minn, min(abs(p1->x - a[i].y), abs(p2->x - a[i].y)));
maxn = max(maxn, a[i].x);
}
printf("%lld\n", minn);
}
int main()
{
int T;
scanf("%d", &T);
while(T--) solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 0
Wrong Answer
time: 645ms
memory: 11600kb
input:
66 5 27 46 89 13 55 8 71 86 22 35 3 3 5 4 7 6 2 2 0 1000000000 1000000000 0 2 1000000000 0 0 1000000000 2 1000000000 0 1000000000 0 2 0 1000000000 0 1000000000 2 1000000000 1000000000 0 0 2 0 0 0 0 2 1000000000 1000000000 1000000000 1000000000 3 90 30 90 50 90 85 3 0 0 0 2 0 5 3 20 30 20 50 20 70 3 ...
output:
3 1 0 0 1000000000 1000000000 1000000000 0 0 5 0 10 5 10 3 0 10 5 0 5 0 10 5 10 3 0 10 5 0 14195379 6981410 45629128 1037663623 2027311500 507704597 6174589 955963135 370094097 1121730960 439397288 462308063 848943178 133505742 42553324 484288608 135053668 331371108 102551432 386248676 3327787489 84...
result:
wrong answer 30th lines differ - expected: '146595730144168239', found: '14195379'