Submission #1299677

#TimeUsernameProblemLanguageResultExecution timeMemory
1299677jioungTeam Contest (JOI22_team)C++20
100 / 100
96 ms6468 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; int32_t main () { cin.tie(0)->sync_with_stdio(0); int n; cin >> n; vector<int> x(n + 1), y(n + 1), z(n + 1); using pii = pair<int, int>; priority_queue<pii> X, Y, Z; for (int i = 1; i <= n; i++) { cin >> x[i] >> y[i] >> z[i]; X.emplace(x[i], i); Y.emplace(y[i], i); Z.emplace(z[i], i); } vector<bool> del(n + 1); #define se second while (1) { if(X.empty() || Y.empty() || Z.empty()) { return cout << -1, 0; } int i = X.top().se, j = Y.top().se, k = Z.top().se; if(y[i] == y[j] || z[i] == z[k]) del[i] = 1; if(x[j] == x[i] || z[j] == z[k]) del[j] = 1; if(x[k] == x[i] || y[k] == y[j]) del[k] = 1; if(!del[i] && !del[j] && !del[k]) { return cout << x[i] + y[j] + z[k], 0; } while (!X.empty() && del[X.top().se]) X.pop(); while (!Y.empty() && del[Y.top().se]) Y.pop(); while (!Z.empty() && del[Z.top().se]) Z.pop(); } return 0; }
#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...