Submission #887582

#TimeUsernameProblemLanguageResultExecution timeMemory
887582MinaRagy06Team Contest (JOI22_team)C++17
0 / 100
2097 ms3932 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int inf = 1e18; int main() { ios_base::sync_with_stdio(0), cin.tie(0); int n; cin >> n; array<ll, 3> a[n]; for (int i = 0; i < n; i++) { cin >> a[i][0] >> a[i][1] >> a[i][2]; } sort(a, a + n); ll ans = -1; int cur = 0; for (int i = 0; i < n; i++) { while (a[cur][0] < a[i][0]) cur++; ll mx[2] = {-inf, -inf}; ll mx2[2] = {-inf, -inf}; for (int j = 0; j < cur; j++) { mx[0] = max(mx[0], a[j][2]); mx[1] = max(mx[1], a[j][2]); } ll x = inf; for (int j = 0; j < cur; j++) { if (a[j][2] < mx[1]) { if (a[j][1] == mx2[0]) { x = min(x, a[j][2]); } else if (a[j][1] > mx2[0]) { x = a[j][2]; mx2[0] = max(mx2[0], a[j][1]); } } } for (int j = 0; j < cur; j++) { if (a[j][1] < mx2[0]) { mx2[1] = max(mx2[1], a[j][2]); } } if (mx2[1] > x && mx2[0] > a[i][1] && mx2[1] > a[i][2]) { ans = max(ans, a[i][0] + mx2[0] + mx2[1]); } mx2[0] = -inf, mx2[1] = -inf; x = inf; for (int j = 0; j < cur; j++) { if (a[j][1] < mx[0]) { if (a[j][2] == mx2[1]) { x = min(x, a[j][1]); } else if (a[j][2] > mx2[1]) { x = a[j][1]; mx2[1] = max(mx2[1], a[j][2]); } } } for (int j = 0; j < cur; j++) { if (a[j][2] < mx2[1]) { mx2[0] = max(mx2[0], a[j][1]); } } if (mx2[0] > x && mx2[0] > a[i][1] && mx2[1] > a[i][2]) { ans = max(ans, a[i][0] + mx2[0] + mx2[1]); } } cout << ans << '\n'; return 0; }

Compilation message (stderr)

team.cpp:5:17: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
    5 | const int inf = 1e18;
      |                 ^~~~
#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...