Submission #796331

#TimeUsernameProblemLanguageResultExecution timeMemory
796331vjudge1Team Contest (JOI22_team)C++14
0 / 100
1 ms340 KiB
#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 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...