diff --git a/2054. Two Best Non-Overlapping Events b/2054. Two Best Non-Overlapping Events new file mode 100644 index 0000000..251f1cd --- /dev/null +++ b/2054. Two Best Non-Overlapping Events @@ -0,0 +1,24 @@ +class Solution { +public: + int maxTwoEvents(vector>& events) { + int n = events.size(); + sort(events.begin(), events.end()); + int best = events[n-1][2]; + mapmp; + mp[events[n-1][0]] = best; + for (int i = n - 2; i >= 0; i--) { + best = max(events[i][2], best); + mp[events[i][0]] = max(mp[events[i][0]], best); + } + int result = 0; + for (int i = 0; i < n; i++) { + auto it = mp.upper_bound(events[i][1]); + result = max(result, events[i][2]); + if (it == mp.end()) + continue; + + result = max(events[i][2] + (*it).second, result); + } + return result; + } +};