NWERC 2015 Open Contest


2015-11-29 10:00 CET

NWERC 2015 Open Contest


2015-11-29 15:00 CET
The end is near!
Contest is over.
Not yet started.
Contest is starting in -602 days 3:38:26

Time elapsed


Time remaining


Problem A
Assigning Workstations

Picture by NASA via WikiMedia Commons
Penelope is part of the admin team of the newly built supercomputer. Her job is to assign workstations to the researchers who come here to run their computations at the supercomputer.

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 \leq n \leq 300\, 000$), the number of researchers, and $m$ ($1 \leq m \leq 10^8$), the number of minutes of inactivity after which a workstation locks itself;

  • $n$ lines each with two integers $a$ and $s$ ($1 \leq a, s \leq 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.

Sample Input 1 Sample Output 1
3 5
1 5
6 3
14 6
Sample Input 2 Sample Output 2
5 10
2 6
1 2
17 7
3 9
15 6