Submission #1208539

#TimeUsernameProblemLanguageResultExecution timeMemory
1208539aaron_dcoderTeam Contest (JOI22_team)C++20
100 / 100
71 ms11020 KiB
#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 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...