Олимпиадный тренинг

Задача . F. Зомби


Поликарп играет в компьютерную игру, в которой он управляет группой выживших в постапокалиптическом мире. Мир захвачен ордами зомби, которые рвутся на базу выживших. Зомби будут пытаться пробраться на базу выживших в течение \(x\) минут, начиная с минуты \(0\). Всего на базу есть \(n\) входов, каждую минуту через каждый вход пытается пробраться один зомби.

Чтобы ограничить вторжение зомби, выжившие могут охранять входы на базу. Есть два варианта:

  • вручную — отстреливать зомби на определенном входе;
  • автоматически — установить электрическую сетку на определенном входе, чтобы поджаривать зомби.

Если в течение какой-то минуты вход охраняется любым или обоими способами, в эту минуту зомби не пробираются на базу через этот вход.

Каждый вход охраняется одним из выживших. \(i\)-й вход охраняется с минуты \(l_i\) по минуту \(r_i\) не включительно — \([l_i, r_i)\).

В распоряжении выживших есть \(k\) генераторов, при помощи которых можно охранять входы автоматически. Каждый вход должен быть подключён ровно к одному генератору, но при этом каждый генератор может запитать любое количество входов. Каждый генератор будет работать ровно \(m\) минут подряд. Поликарп выбирает время запуска каждого генератора независимо друг от друга, этот интервал длиной \(m\) минут должен вкладываться в интервал \([0, x)\).

Поликарп — не совсем нормальный игрок. Он хочет, чтобы игра была для него как можно сложнее. Поэтому он подключит каждый вход к генератору и настроит время работы генераторов так, чтобы как можно больше зомби пробралось на базу. Помогите ему это сделать!

Входные данные

В первой строке записано четыре целых числа \(n, k, x\) и \(m\) (\(1 \le k \le n \le 2000\); \(1 \le m \le x \le 10^9\)) — количество входов, количество генераторов, длительность атаки зомби и дилтельность всех генераторов.

В \(i\)-й из следующий \(n\) строк записаны два целых числа \(l_i\) и \(r_i\) (\(0 \le l_i < r_i \le x\)) — отрезок времени, в течение которого \(i\)-й вход охраняется вручную.

Выходные данные

Выведите одно целое число — наибольшее количество зомби, которые могут пробраться на базу после того как Поликарп подсоединит каждый вход к некоторому генератору и выберет время для каждого генератора.


Примеры
Входные данныеВыходные данные
1 3 3 10 3
0 2
1 7
4 7
18
2 3 2 10 3
0 2
1 7
4 7
18
3 3 1 10 3
0 2
1 7
4 7
16
4 2 1 20 6
11 13
2 14
22
5 5 3 7 4
4 6
0 3
4 7
1 5
2 7
14
6 6 3 9 4
3 9
4 9
2 5
0 5
6 9
2 3
26

time 4000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя