제출 #796369

#제출 시각아이디문제언어결과실행 시간메모리
796369vjudge1Team Contest (JOI22_team)C++14
100 / 100
404 ms32184 KiB
#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(y[px] == y[py] || z[px] == z[pz]) { vx.erase({x[px], px}) ; vy.erase({y[px], px}) ; vz.erase({z[px], px}) ; continue ; } if(x[py] == x[px] || z[py] == z[pz]) { vx.erase({x[py], py}) ; vy.erase({y[py], py}) ; vz.erase({z[py], py}) ; continue ; } if(x[pz] == x[px] || y[pz] == y[py]) { vx.erase({x[pz], pz}) ; vy.erase({y[pz], pz}) ; vz.erase({z[pz], pz}) ; continue ; } ans = x[px] + y[py] + z[pz] ; break ; } cout << ans ; return 0 ; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...