Задача коммивояжёра
Есть n городов, пронумерованных от 1 до n, красота города i равна ai.
Коммивояжёр хочет начать с города 1, посетить каждый город ровно один раз и вернуться в город 1.
Для всех i ≠ j, перелёт из города i в город j стоит max\(ci, aj−ai\) рублей, где ci — это нижний порог цены, наложенный на перелёт городом i. Обратите внимание, что здесь не берётся абсолютное значение. Найдите минимальную общую стоимость поездки для коммивояжёра.
Входные данные
В первой строке содержится одно целое n \(2 ≤ n ≤ 105\) — количество городов.
В i-й из следующих n строк содержится по два целых числа ai, ci \(0 ≤ ai, ci ≤ 109\) — красота и нижний порог цены города i.
Выходные данные
Выведите единственное целое число — минимальную суммарную стоимость.
- n = int\(input\(\))
- a = \[\[int\(s\) for s in input\(\)\.split\(" "\)\]for i in range\(n\)]
- a.sort\(\)
- \(ans, c\) = \(a⟨1⟩⟨2⟩, sum\(a⟨1⟩\))
- for w in a\[1:\]:
- ___ans += w\[1\]+ max\(w⟨1⟩ \- c, 0\)
___c = max\(c, sum\(w\)) - print\(ans\)