From 9f41d1528a07006ed66f15baed502f5bfb38c363 Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Sun, 8 Dec 2024 23:36:39 +0530 Subject: [PATCH] Create 2054. Two Best Non-Overlapping Events --- 2054. Two Best Non-Overlapping Events | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 2054. Two Best Non-Overlapping Events 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; + } +};