#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;
}
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 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... |