This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
#define fi first
#define se second
#define ll long long
using namespace std ;
const ll N = 2e5 ;
ll n, ans = -1, x[N + 1], y[N + 1], z[N + 1] ;
set<pair<ll, ll>> vx, vy, vz ;
signed main()
{
ios_base::sync_with_stdio( 0 ) ;
cin.tie( 0 ) ;
cout.tie( 0 ) ;
cin >> n ;
for(ll i = 1 ; i <= n ; i++)
{
cin >> x[i] >> y[i] >> z[i] ;
vx.insert({x[i], i}) ;
vy.insert({y[i], i}) ;
vz.insert({z[i], i}) ;
}
while(vx.size())
{
ll px = (*vx.rbegin()).se, py = (*vy.rbegin()).se, pz = (*vz.rbegin()).se ;
if(px == py)
{
vx.erase({x[px], px}) ;
vy.erase({y[px], px}) ;
vz.erase({z[px], px}) ;
continue ;
}
if(px == pz)
{
vx.erase({x[px], px}) ;
vy.erase({y[px], px}) ;
vz.erase({z[px], px}) ;
continue ;
}
if(py == pz)
{
vx.erase({x[py], py}) ;
vy.erase({y[py], py}) ;
vz.erase({z[py], py}) ;
continue ;
}
ans = x[px] + y[py] + z[pz] ;
break ;
}
cout << ans ;
return 0 ;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |