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
using namespace std ;
const int N = 15e4 ;
int n, ans = -1, x[N + 1], y[N + 1], z[N + 1] ;
set<pair<int, int>> vx, vy, vz ;
signed main()
{
ios_base::sync_with_stdio( 0 ) ;
cin.tie( 0 ) ;
cout.tie( 0 ) ;
cin >> n ;
for(int 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())
{
pair<int, int> px = (*vx.rbegin()), py = (*vy.rbegin()), pz = (*vz.rbegin()) ;
if(px.se == py.se)
{
vx.erase(px) ;
vy.erase(py) ;
vz.erase({z[px.se], px.se}) ;
continue ;
}
if(px.se == pz.se)
{
vx.erase(px) ;
vz.erase(pz) ;
vy.erase({y[px.se], px.se}) ;
continue ;
}
if(py.se == pz.se)
{
vy.erase(py) ;
vz.erase(pz) ;
vx.erase({x[py.se], py.se}) ;
continue ;
}
ans = px.fi + py.fi + pz.fi ;
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... |