#include<bits/stdc++.h>
using namespace std;
using ll = long long;
using ull = unsigned long long;
using lld = long double;
#ifndef ONLINE_JUDGE
#include "D:\cpp_codes\debugalgo.h"
#else
#define debug(x)
#endif
const int inf = 1e9;
int get(vector<array<int,3>>&b, int idx)
{
int n = b.size();
vector<array<int,3>> a = b;
sort(a.begin(),a.end(), [&](array<int,3>x, array<int,3>y){
return x[idx]<y[idx];
});
int mxx = a.back()[idx];
priority_queue<pair<int,int>> pqy,pqz;
for(int i=0; i<n; i++)
{
if(a[i][idx]<mxx)
{
pqy.push({a[i][(idx+1)%3], i});
pqz.push({a[i][(idx+2)%3], i});
}
}
while(!pqy.empty() && pqy.top().second==pqz.top().second)
{
pqy.pop();
pqz.pop();
}
if(pqy.empty()) return -1;
int mxy = pqy.top().first , mxz = pqz.top().first;
for(int i=0; i<(int)a.size();)
{
if(a[i][idx]==mxx && (a[i][(idx+1)%3]==mxy || a[i][(idx+2)%3]==mxz))
{
swap(a[i],a.back());
a.pop_back();
}
else i++;
}
int ans = -1;
if(a.back()[idx]==mxx)
{
ans = max(ans, mxx + mxy + mxz);
}
return ans;
}
void solve()
{
int n;
cin >> n;
vector<array<int,3>> a(n);
int mxx = 0, mxy = 0, mxz = 0;
int mnx = inf, mny = inf, mnz = inf;
for (int i = 0; i < n; i++)
{
cin >> a[i][0]>>a[i][1]>>a[i][2];
mxx = max(mxx,a[i][0]);
mxy = max(mxy,a[i][1]);
mxz = max(mxz,a[i][2]);
mnx = min(mnx, a[i][0]);
mny = min(mny, a[i][1]);
mnz = min(mnz, a[i][2]);
}
vector<array<int,3>> b;
for(int i=0; i<n; i++)
{
int cnt = 0;
if(a[i][0]==mxx) cnt++;
if(a[i][1]==mxy) cnt++;
if(a[i][2]==mxz) cnt++;
if(cnt>=2) continue;
b.push_back(a[i]);
}
swap(a,b);
n = a.size();
if(n<=2)
{
cout<<"-1\n";
return;
}
int ans = -1;
for(int i=0; i<3; i++)
{
ans = max(ans, get(a,i));
}
cout<<ans<<"\n";
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
// #ifndef ONLINE_JUDGE
// freopen("error.txt", "w", stderr);
// #endif
int tt = 1;
// cin >> tt;
while (tt--)
{
solve();
}
}
Compilation message
team.cpp:9:10: fatal error: D:\cpp_codes\debugalgo.h: No such file or directory
9 | #include "D:\cpp_codes\debugalgo.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.