Submission #1282464

#TimeUsernameProblemLanguageResultExecution timeMemory
1282464bobtheguyTeam Contest (JOI22_team)C++20
8 / 100
2095 ms3772 KiB
#include<bits/stdc++.h>
using namespace std;
 const long long value=1e18;
struct grp{
    long long x,y,z;
} p[2*100010];
struct node{
    long long mn=value,mx=-value;
} st[8*100010];
 long long i,n,j=0,ans=-1,pos=1,N,g[100];
 vector<long long> vec;
 bool flag=0;


void val(){
    long long mx1=-1,mx2=-1,mx3=-1,ca1,ca2,ca3;
    long long i;
    for (i=1;i<=3;i++){
        if (mx1<p[g[i]].x){
            ca1=g[i];
            mx1=p[g[i]].x;
        }
        if (mx2<p[g[i]].y){
            ca2=g[i];
            mx2=p[g[i]].y;
        }
        if (mx3<p[g[i]].z){
            ca3=g[i];
            mx3=p[g[i]].z;
        }

    }
    long long cnt1=0,cnt2=0,cnt3=0;
    for (i=1;i<=3;i++){
        if (p[g[i]].x==mx1) cnt1++;
        if (p[g[i]].y==mx2) cnt2++;
        if (p[g[i]].z==mx3) cnt3++;
    }
    if (cnt1>1) return;
    if (cnt2>1) return;
    if (cnt3>1) return;
    if (ca1!=ca2&&ca2!=ca3&&ca1!=ca3) ans=max(ans,mx1+mx2+mx3);
}
signed main(){
    cin.tie(0)->sync_with_stdio(0);
    cin>>n;
    for (i=1;i<=n;i++) cin>>p[i].x>>p[i].y>>p[i].z;
    sort(p+1,p+n+1,[](const grp& A,const grp& B){
            return A.x<B.x;
    });
    long long k;
    for (i=3;i<=n;i++){
        for (j=2;j<i;j++){
            for (k=1;k<j;k++){
                g[1]=i;g[2]=j;g[3]=k;
                val();
            }
        }
    }
    cout<<ans;
}
#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...