Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<algorithm>
- #include <vector>
- using namespace std;
- class Job
- {
- public:
- string title;
- int deadline;
- int profit;
- };
- bool comparison(Job a, Job b)
- {
- return (a.profit > b.profit);
- }
- void print_job_scheduling(vector<Job> jobs)
- {
- sort(jobs.begin(), jobs.end(), comparison);
- int result[jobs.size()];
- bool slot[jobs.size()];
- for (int i = 0; i < jobs.size(); i++)
- slot[i] = false;
- for (int i = 0; i < jobs.size(); i++)
- {
- for (int j = min(int(jobs.size()), jobs[i].deadline) - 1; j >= 0; j--)
- {
- if (slot[j]==false)
- {
- result[j] = i;
- slot[j] = true;
- break;
- }
- }
- }
- for (int i=0; i < jobs.size(); i++)
- if (slot[i])
- cout << jobs[result[i]].title << " ";
- }
- int main()
- {
- print_job_scheduling({
- {"Job 1", 2, 100},
- {"job 2", 1, 19},
- {"Job 3", 2, 27},
- {"job 4", 4, 25},
- {"job 5", 3, 15}
- });
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement