13000. Money for Nothing


Відправити розв'язок

Бали: 100
Time limit: 2.0s
Memory limit: 250M

Authors:
Problem type
Allowed languages
C++, Java, Pascal, Python

У цій задачі ви розв’яжете одну з найсерйозніших проблем людей у ​​всьому світі з початку часів – як заробити багато грошей.

Ви посередник на ринку віджетів. Ваше завдання — купувати віджети у компаній-виробників віджетів і продавати їх компаніям-споживачам віджетів. Кожна компанія-споживач віджетів має відкритий запит на один віджет на день до певної кінцевої дати та ціну, за якою вона готова купити віджети. З іншого боку, кожна компанія-виробник віджетів має дату початку, з якої вона може почати доставку віджетів, і ціну, за якою вона постачатиме кожен віджет. Відповідно до законодавства про чесну конкуренцію ви можете укласти договір лише з однією компанією-виробником і лише з однією компанією-споживачем. Ви будете купувати віджети у компанії-виробника по одному на день, починаючи з того дня, коли почнеться доставка, і закінчуючи датою, зазначеною компанією-споживачем. У кожен із цих днів ви отримуєте різницю між ціною продажу виробника та ціною покупки споживача. Ваша мета — вибрати компанію-споживача та компанію-виробника, які максимізують ваш прибуток.

Формат вхідних даних

Перший рядок вхідних даних містить два цілих числа \(m\) і \(n\) (\(1 \le m,n \le 500000 \)), що позначають кількість компаній-виробників і споживачів на ринку відповідно. За ним ідуть \(m\) рядки, з яких \(i\)-й містить два цілих числа \(p_i\) і \(d_i\) (\(1 \le p_i,d_i \le 10^9\) ), ціну (в доларах), за якою \(i\)-й виробник продає один віджет, і день, коли перший віджет буде доступний у цієї компанії.

Далі слідують \(n\) рядки, з яких \(j\)-й містить два цілих числа \(q_j\) та \(e_j\) (\(1 \le q_j,e_j \le 10^9\) ), ціну (у доларах), за якою \(j\)-й споживач готовий купити віджети, і наступний день після дня, коли останній віджет повинен бути доставлений цій компанії.

Формат вихідних даних

Виведіть максимальну загальну кількість доларів, які ви можете заробити. Якщо немає можливості підписувати контракти, які приносять прибуток, виведіть 0.

Приклад вхідних даних

2 2
1 3
2 1
3 5
7 2

Приклад вихідних даних

5

Приклад вхідних даних

1 2
10 10
9 11
11 9

Приклад вихідних даних

0

Коментарі

Ще немає коментарів.