Hi, could I ask how I can solve this problem in Java using priority queues? (Included variables)
Question:
Penelope is very lazy and hates unlocking machines for the arriving researchers. She can unlock the machines remotely from her desk, but does not feel that this menial task matches her qualifications. Should she decide to ignore the security guidelines she could simply ask the researchers not to lock their workstations when they leave, and then assign new researchers to workstations that are not used any more but that are still unlocked. That way, she only needs to unlock each workstation for the first researcher using it, which would be a huge improvement for Penelope.
Unfortunately, unused workstations lock themselves automatically if they are unused for more than ?m minutes. After a workstation has locked itself, Penelope has to unlock it again for the next researcher using it. Given the exact schedule of arriving and leaving researchers, can you tell Penelope how many unlockings she may save by asking the researchers not to lock their workstations when they leave and assigning arriving researchers to workstations in an optimal way? You may assume that there are always enough workstations available.
The input consists of:
one line with two integers n (1 ≤ n ≤ 300000), the number of researchers, and m (1 ≤ m ≤ 10^8), the number of minutes of inactivity after which a workstation locks itself;
n lines each with two integers a and s (1 ≤ a, s ≤ 10^8), representing a researcher that arrives after a minutes and stays for exactly s minutes.
Output the maximum number of unlockings Penelope may save herself.
Already registered? Login
Not Account? Sign up
Enter your email address to reset your password
Back to Login? Click here