2
* @param {number[][]} events7
var f = function (ind, k, events, dp) {8
if (ind == events.length || k == 0) return 0;10
if (dp[ind][k] != -1) return dp[ind][k];11
let take = events[ind][2];12
for (let i = ind + 1; i < events.length; ++i) {13
if (events[ind][1] < events[i][0]) {14
take += f(i, k - 1, events, dp);18
let notTake = f(ind + 1, k, events, dp);19
return (dp[ind][k] = Math.max(take, notTake));21
var maxValue = function (events, k) {23
events.sort((a, b) => (a[0] === b[0] ? a[1] - b[1] : a[0] - b[0]));24
for (let i = 0; i < events.length; ++i) {25
dp[i] = new Array(k + 1).fill(-1);27
return f(0, k, events, dp);