Weighted Job Scheduling Problem Statement

You have 'N' jobs, each with a start time, end time, and profit. Your task is to identify the maximum profit that can be earned by scheduling these jobs such that no two jobs overlap.

Input:
The first line contains an integer 'T' denoting the number of test cases. 
For each test case:
- The first line contains an integer 'N' denoting the number of jobs.
- The second line contains 'N' space-separated integers representing the start times of the jobs.
- The third line contains 'N' space-separated integers representing the end times of the jobs.
- The fourth line contains 'N' space-separated integers representing the profits of the jobs.
Output:
For each test case, output the maximum profit obtainable. Each result should be printed on a new line.

Example:

Input:
1 
4
1 2 3 3
3 5 4 5
50 10 40 70
Output:
120
Constraints:
  • 1 <= T <= 100
  • 1 <= N <= 3000
  • 1 <= Start[i] < End[i] <= 10^9
  • 1 <= Profit[i] <= 10^9
Note:

The start time of one job can be equal to the end time of another.

Follow-up:

Can you devise an algorithm that solves this problem in O(N*log(N)) time complexity?

AnswerBot
8d

The Weighted Job Scheduling problem involves maximizing profit by scheduling non-overlapping jobs with start time, end time, and profit given.

  • Sort the jobs based on their end times in ascending order....read more

Help your peers!
Add answer anonymously...
PhonePe Software Developer Interview Questions
Stay ahead in your career. Get AmbitionBox app
qr-code
Helping over 1 Crore job seekers every month in choosing their right fit company
65 L+

Reviews

4 L+

Interviews

4 Cr+

Salaries

1 Cr+

Users/Month

Contribute to help millions

Made with ❤️ in India. Trademarks belong to their respective owners. All rights reserved © 2024 Info Edge (India) Ltd.

Follow us
  • Youtube
  • Instagram
  • LinkedIn
  • Facebook
  • Twitter