Submission #1184814

#TimeUsernameProblemLanguageResultExecution timeMemory
1184814user192837Team Contest (JOI22_team)C++17
100 / 100
76 ms9228 KiB
#include <bits/stdc++.h> #define ar array #define all(x) x.begin(), x.end() using namespace std; typedef long long ll; const int N = 2e5; ar <int, 2> a[3][N]; int b[3][N]; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n; cin >> n; vector <ar <int, 2>> x(n), y(n), z(n); for (int i = 0; i < n; i++) { for (int j = 0; j < 3; j++) { cin >> a[j][i][0]; a[j][i][1] = i; b[j][i] = a[j][i][0]; } } for (int i = 0; i < 3; i++) sort(a[i], a[i] + n, greater <ar <int, 2>>()); vector <int> p(3, 0); int nok = 1; while (max(p[0], max(p[1], p[2])) < n && nok) { nok = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (i != j) { if (b[j][a[i][p[i]][1]] >= a[j][p[j]][0]) { nok = 1; p[i]++; break; } } } } } int ans = 0; for (int i = 0; i < 3; i++) { if (p[i] == n) return cout << -1, 0; ans += a[i][p[i]][0]; } cout << ans << '\n'; }
#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...