ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

2187. Нужно больше золота

Ограничение времени: 1.0 секунды
Ограничение памяти: 256 МБ
Сколько же путешествий повидал в своей жизни Слепой Пью... Сколько же золотых монет он держал в руках... Сколько же раз он попадал в переделки... Нет, нельзя просто так взять и закончить карьеру пирата! Поэтому Слепой Пью снова собрал команду чокнутых моряков и отправился на поиски новых приключений.
В пиратском мире существует n островов с сокровищами. Остров под номером i хранит сундук с ai пиастрами. Между островами существует m морских путей, которые позволяют перемещаться между ними. Острова и пути образуют неориентированный граф, где каждый морской путь соединяет два различных острова.
Популярность острова определяется количеством морских путей, соединяющих его с другими островами. Путешествие — это последовательность островов, такая что между каждыми двумя последовательными островами есть морской путь, а популярность каждого следующего острова строго больше популярности предыдущего. Длина путешествия — это количество морских путей в нём.
В начале Слепой Пью и его команда находятся на острове с номером 1, где они уже нашли сундук с a1 пиастрами. Пираты могут начать любое путешествие с текущего острова, но останавливаются только на последнем острове путешествия и открывают сундук там (сундуки промежуточных островов остаются нетронутыми). Все золото Пью забирает к себе в карман. Каждое новое путешествие начинается с острова, на котором закончилось предыдущее.
Каждое путешествие требует оплаты команде. Если длина путешествия равна i, то команда потребует bi пиастров за него. Пью выплачивает команде единовременно всю сумму за все путешествия в конце последнего. Если Пью и его команда не совершают ни одного путешествия, то Пью не платит своей команде ничего.
Слепой Пью хочет заработать как можно больше пиастров, совершив несколько путешествий (возможно, ни одного). Помогите ему найти максимальное количество пиастров, которое он сможет заработать.
Problem illustration

Исходные данные

В первой строке вводятся два числа n и m — количество островов и количество морских путей соответственно (2 ≤ n ≤ 105, 1 ≤ m ≤ 105).
Во второй строке вводится последовательность из n чисел a1, a2, …, an, где ai — количество пиастров на острове с номером i (1 ≤ ai ≤ 109).
В третьей строке вводится последовательность из n − 1 чисел b1, b2, …, bn−1, где bi — стоимость путешествия длины i (1 ≤ bi ≤ 109).
В следующих m строках содержится по два числа u и v — номера островов, между которыми существует морской путь (1 ≤ u, vn, uv).
Гарантируется, что между любыми двумя островами существует не более одного морского пути (нет кратных рёбер).

Результат

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

Пример

исходные данныерезультат
6 10
5 6 8 2 5 7
3 5 2 4 6
1 2
1 3
1 4
2 3
2 4
2 5
3 4
3 6
4 5
4 6
10

Замечания

В первом примере выгоднее всего будет совершить одно путешествие длиной 1 на остров 3. В этом случае Пью получит (5 + 8) − 3 = 10 пиастров.
Автор задачи: Артём Абатуров
Источник задачи: Уральская командная олимпиада по программированию 2024