Submission #1244292

#TimeUsernameProblemLanguageResultExecution timeMemory
1244292sula2Team Contest (JOI22_team)C++20
0 / 100
1 ms328 KiB
#include <bits/stdc++.h> #define all(a) (a).begin(), (a).end() using namespace std; using namespace chrono; int a[3][150'000]; signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < 3; j++) cin >> a[j][i]; } int ind[3][n]; for (int i = 0; i < 3; i++) { iota(ind[i], ind[i] + n, 0); sort(ind[i], ind[i] + n, [&](int p, int q) { return a[i][p] > a[i][q]; }); } int* ptr[3] = {ind[0], ind[1], ind[2]}; while (ptr[0] != ind[0] + n && ptr[1] != ind[1] + n && ptr[2] != ind[2] + n) { set<int> to_change; for (int i = 0; i < 3; i++) { for (int j = i+1; j < 3; j++) { if (*ptr[i] == *ptr[j]) { to_change.insert(i); to_change.insert(j); } } } if (to_change.empty()) break; for (int i : to_change) ptr[i]++; } int ans = 0; for (int i = 0; i < 3; i++) { if (ptr[i] == ind[i] + n) { ans = -1; break; } ans += a[i][*ptr[i]]; } cout << ans; }
#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...