Submission #1244286

#TimeUsernameProblemLanguageResultExecution timeMemory
1244286AlmontherTeam Contest (JOI22_team)C++20
100 / 100
452 ms32132 KiB
#include<bits/stdc++.h>

#define ll long long
#define co cout<<

using namespace std;
// stuff

void solve(){
    ll n;
    cin>>n;
    array<ll,3>arr[n+3];
    set<pair<ll,ll>>s,s1,s2;
    for(int i=0;i<n;i++){
        ll a,b,c;
        cin>>a>>b>>c;
        s.insert({a,i});
        s1.insert({b,i});
        s2.insert({c,i});
        arr[i]={a,b,c};
    }
    while(s.size()){
        ll i=s.rbegin()->second,j=s1.rbegin()->second,k=s2.rbegin()->second;
        if(arr[i][1]==arr[j][1]||arr[i][2]==arr[k][2]){
            s.erase({arr[i][0],i});
            s1.erase({arr[i][1],i});
            s2.erase({arr[i][2],i});
            continue;
        }
        if(arr[j][0]==arr[i][0]||arr[j][2]==arr[k][2]){
            s.erase({arr[j][0],j});
            s1.erase({arr[j][1],j});
            s2.erase({arr[j][2],j});
            continue;
        }
        if(arr[k][1]==arr[j][1]||arr[k][0]==arr[i][0]){
            s.erase({arr[k][0],k});
            s1.erase({arr[k][1],k});
            s2.erase({arr[k][2],k});
            continue;
        }
        co arr[i][0]+arr[j][1]+arr[k][2];
        return;
    }
    co -1;
}
int main(){
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int _=1;
    // cin>>_;
    while(_--) solve();
}
#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...