import java.util.*; class Job { private int id; private int deadline; private int profit; Job(int id, int deadline, int profit) { this.id = id; this.deadline = deadline; this.profit = profit; } public int getId() { return id; } public int getDeadline() { return deadline; } public int getProfit() { return profit; } } public class JobSeq { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("enter no of jobs"); int n = scan.nextInt(); Job[] jobs = new Job[n]; System.out.println("emter job id,deadline,profit"); for (int i = 0; i < n; i++) { jobs[i] = new Job(scan.nextInt(), scan.nextInt(), scan.nextInt()); } js(jobs); } public static void js(Job[] jobs) { Arrays.sort(jobs, new Comparator<Job>() { public int compare(Job j1, Job j2) { return j2.getProfit() - j1.getProfit(); } }); int maxDeadline = 0; for (Job job : jobs) { if (job.getDeadline() > maxDeadline) { maxDeadline = job.getDeadline(); } } Job[] result = new Job[maxDeadline]; boolean[] slot = new boolean[maxDeadline]; for (Job job : jobs) { for (int j = Math.min(maxDeadline, job.getDeadline()) - 1; j >= 0; j--) { if (!slot[j]) { // If the slot is free result[j] = job; slot[j] = true; break; } } } int totalProfit = 0; System.out.println("Scheduled jobs:"); for (Job job : result) { if (job != null) { System.out.println("Job ID: " + job.getId() + ", Profit: " + job.getProfit()); totalProfit += job.getProfit(); } } System.out.println("Total profit: " + totalProfit); } }