समस्या
अनुवाद दिखाएँEach project is [start_day, end_day, reward]. It occupies every day from start_day through end_day, including both endpoints. You can participate in only one project on a day. Choose a subset with the largest total reward. A project starting on another project’s end day conflicts with it.
Implement project_rewards(projects).
Input
projects: Rows of three integers: start day, end day, and reward.
Output
Return the maximum total reward; the chosen projects need not be returned.
सीमाएँ
1 ≤ projects ≤ 200,000. 1 ≤ start_day ≤ end_day ≤ 1,000,000,000. Rewards are positive integers at most 1,000,000,000.
उदाहरण
इनपुट:
projects = [
[1, 2, 4],
[3, 4, 5],
[2, 3, 10]
]
अपेक्षित आउटपुट:
expected = 10
इनपुट:
std::vector<std::vector<long long>> projects = {
{1, 2, 4},
{3, 4, 5},
{2, 3, 10}
};
अपेक्षित आउटपुट:
long long expected = 10;
इनपुट:
long[][] projects = new long[][] {
new long[] {1, 2, 4},
new long[] {3, 4, 5},
new long[] {2, 3, 10}
};
अपेक्षित आउटपुट:
long expected = 10;
व्याख्या
The first two projects earn 9 together. The last earns 10 and conflicts with both, so choose it alone.
इनपुट:
projects = [
[1, 2, 4],
[2, 3, 5]
]
अपेक्षित आउटपुट:
expected = 5
इनपुट:
std::vector<std::vector<long long>> projects = {
{1, 2, 4},
{2, 3, 5}
};
अपेक्षित आउटपुट:
long long expected = 5;
इनपुट:
long[][] projects = new long[][] {
new long[] {1, 2, 4},
new long[] {2, 3, 5}
};
अपेक्षित आउटपुट:
long expected = 5;
व्याख्या
Both occupy day 2. Choose only the second, with reward 5.
संदर्भ
यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।