Submission #887595

#TimeUsernameProblemLanguageResultExecution timeMemory
887595MinaRagy06Team Contest (JOI22_team)C++17
27 / 100
161 ms3852 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int inf = 1e9; int mn[305], mx[305]; int main() { ios_base::sync_with_stdio(0), cin.tie(0); int n; cin >> n; array<int, 3> a[n]; for (int i = 0; i < n; i++) { cin >> a[i][0] >> a[i][1] >> a[i][2]; } sort(a, a + n); int ans = -1; int cur = 0; for (int i = 0; i < 305; i++) { mn[i] = inf; mx[i] = -inf; } for (int i = 0; i < n; i++) { while (a[cur][0] < a[i][0]) { mx[a[cur][1]] = max(mx[a[cur][1]], a[cur][2]); mn[a[cur][1]] = min(mn[a[cur][1]], a[cur][2]); cur++; } int sufxmx[305]{}; sufxmx[0] = mx[0]; for (int y = 1; y < 305; y++) { sufxmx[y] = max(sufxmx[y - 1], mx[y]); } int curmn = inf; for (int y = 304; y >= max(1, a[i][1] + 1); y--) { curmn = min(curmn, mn[y]); if (curmn != inf && sufxmx[y - 1] != -inf && curmn < sufxmx[y - 1] && a[i][2] < sufxmx[y - 1]) { ans = max(ans, a[i][0] + sufxmx[y - 1] + y); break; } } } cout << ans << '\n'; 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...