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 f first
    #define s second
    #define pb push_back
    #define pii pair<int,int>
    #define ll long long
    #define sz(x) (ll)x.size()
    using namespace std;
    int main(){
        ios_base::sync_with_stdio(0);cin.tie(0);
        int n;cin>>n;
        int x[n+1],y[n+1],z[n+1];multiset<pii>xx,yy,zz;
        for(int i=1;i<=n;i++)cin>>x[i]>>y[i]>>z[i],xx.insert({x[i],i}),yy.insert({y[i],i}),zz.insert({z[i],i});
        while(!xx.empty()){
            int a=(--xx.end())->s,b=(--yy.end())->s,c=(--zz.end())->s;
            if(y[a]==y[b]){xx.erase({x[a],a}),yy.erase({y[a],a}),zz.erase({z[a],a});continue;}
            else if(z[a]==z[c]){xx.erase({x[a],a}),yy.erase({y[a],a}),zz.erase({z[a],a});continue;}
            else if(x[b]==x[a]){xx.erase({x[b],b}),yy.erase({y[b],b}),zz.erase({z[b],b});continue;}
            else if(z[b]==z[c]){xx.erase({x[b],b}),yy.erase({y[b],b}),zz.erase({z[b],b});continue;}
            else if(x[c]==x[a]){xx.erase({x[c],c}),yy.erase({y[c],c}),zz.erase({z[c],c});continue;}
            else if(y[c]==y[b]){xx.erase({x[c],c}),yy.erase({y[c],c}),zz.erase({z[c],c});continue;}
            else break;
        }if(xx.empty())cout<<-1;
        else cout<<(--xx.end())->f+(--yy.end())->f+(--zz.end())->f;
        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... |