#define NDEBUG
#ifdef NDEBUG
#define dbg(TXTMSG) if constexpr (false) cerr << "lol"
#define dbgv(VARN) ((void)0)
#define dbgfor(COND) if constexpr (false) for (COND)
#else
#define _GLIBCXX_DEBUG 1
#define _GLIBCXX_DEBUG_PEDANTIC 1
#pragma GCC optimize("trapv")
#define dbg(TXTMSG) cerr << "\n" << TXTMSG
#define dbgv(VARN) cerr << "\n" << #VARN << " = "<< VARN << ", line " << __LINE__ << "\n"
#define dbgfor(COND) for (COND)
#endif
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using pll = pair<ll,ll>;
#define e0 first
#define e1 second
constexpr ll INFTY = 2e18;
struct skill
{
ll x;
ll y;
ll z;
};
int main()
{
cin.tie(nullptr);
ios_base::sync_with_stdio(false);
ll N;
cin >> N;
vector<pll> X(N);
vector<pll> Y(N);
vector<pll> Z(N);
vector<skill> S(N);
for (ll i = 0; i < N; ++i)
{
cin >> X[i].e0 >> Y[i].e0 >> Z[i].e0;
S[i].x = X[i].e0;
S[i].y = Y[i].e0;
S[i].z = Z[i].e0;
X[i].e1=i;
Y[i].e1=i;
Z[i].e1=i;
}
vector<bool> used(N,false);
sort(X.rbegin(),X.rend());
sort(Y.rbegin(),Y.rend());
sort(Z.rbegin(),Z.rend());
ll xidx=0;
ll yidx=0;
ll zidx=0;
while (xidx < N && yidx < N && zidx < N)
{
// xidx checking
if (S[X[xidx].e1].y==Y[yidx].e0 || S[X[xidx].e1].z==Z[zidx].e0)
{
used[X[xidx].e1]=true;
}
else if (S[Y[yidx].e1].x==X[xidx].e0 || S[Y[yidx].e1].z==Z[zidx].e0)
{
used[Y[yidx].e1]=true;
}
else if (S[Z[zidx].e1].x==X[xidx].e0 || S[Z[zidx].e1].y==Y[yidx].e0)
{
used[Z[zidx].e1]=true;
}
else
{
cout << (X[xidx].e0+Y[yidx].e0+Z[zidx].e0);
return EXIT_SUCCESS;
}
while (xidx < N && used[X[xidx].e1]) xidx++;
while (yidx < N && used[Y[yidx].e1]) yidx++;
while (zidx < N && used[Z[zidx].e1]) zidx++;
}
cout << "-1";
return EXIT_SUCCESS;
}
# | 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... |