Submission #1173563

#TimeUsernameProblemLanguageResultExecution timeMemory
1173563VMaksimoski008Team Contest (JOI22_team)C++20
100 / 100
573 ms23312 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; signed main() { int n; cin >> n; set<pair<int, int> > st[3]; vector<array<int, 3> > a(n+1); for(int i=1; i<=n; i++) { cin >> a[i][0] >> a[i][1] >> a[i][2]; for(int j=0; j<3; j++) st[j].insert({ a[i][j], i }); } ll ans = -1; while(!st[0].empty() && !st[1].empty() && !st[2].empty()) { set<int> bad; for(int i=0; i<3; i++) { int p = st[i].rbegin()->second; for(int j=0; j<3; j++) { if(i == j) continue; if(a[p][j] >= st[j].rbegin()->first) bad.insert(p); } } if(bad.empty()) { for(int i=0; i<3; i++) ans += st[i].rbegin()->first; break; } else { for(auto p : bad) { for(int i=0; i<3; i++) st[i].erase({ a[p][i], p }); } } } cout << ans + (ans > -1) << '\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...