Logo
(追記) (追記ここまで)

27175번 - Оптимизация закупок 서브태스크스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB71242237.288%

문제

Сеть пунктов проката горнолыжного оборудования представляет собой корневое дерево, состоящее из $n$ вершин, пронумерованных от 1ドル$ до $n$ с корнем в вершине номер 1ドル$. В каждой вершине имеется пункт проката. Пункт, расположенный в $i$-й вершине, закупает оборудование по цене $c_i$ рублей за комплект.

Пусть $a_i$ --- суммарное количество комплектов горнолыжного оборудования, которое будет закуплено во всех пунктах проката, находящихся в поддереве вершины номер $i$. Согласно маркетинговым исследованиям для каждого $i$ эта величина должна находиться в диапазоне: $l_i \le a_i \le r_i$.

Необходимо определить, какое количество комплектов нужно закупить к началу сезона каждому из пунктов проката, чтобы для поддерева любой вершины сети общее количество комплектов находилось в указанном маркетологами диапазоне, а суммарная стоимость всех купленных комплектов была как можно меньше. Либо определить, что выполнить все условия маркетологов невозможно.

Напомним, что граф называется деревом, если он связный и не содержит циклов. Между любыми двумя вершинами в дереве существует ровно один простой путь. Корневым деревом называется дерево, в котором есть одна выделенная вершина --- корень. Поддеревом вершины $v$ называют множество всех вершин, для которых вершина $v$ лежит на пути от соответствующей вершины до корня. Обратите внимание, что сама вершина $v$ тоже входит в это множество. Родителем вершины $v$ называется такая вершина $p_v,ドル что $v$ и $p_v$ соединены ребром, и $p_v$ лежит на пути от $v$ до корня.

입력

Каждый тест состоит из нескольких наборов входных данных. В первой строке дано одно целое число $t$ --- количество наборов входных данных. Далее следует описание наборов входных данных.

В первой строке каждого набора входных данных дано одно целое число $n$ (1ドル \le n \le 100,000円$) --- количество вершин в дереве.

Во второй строке даны $n - 1$ целых чисел $p_2, p_3, \ldots, p_n$ (1ドル \le p_i < i$), обозначающих, что родителем вершины $i$ является вершина $p_i$.

В следующей строке даны $n$ целых чисел $c_1, \ldots, c_n$ (1ドル \le c_i \le 10^9$), где $c_i$ --- цена закупки одного комплекта оборудования пунктом проката номер $i$.

В следующих $n$ строках даны по два целых числа $l_i$ и $r_i$ (0ドル \le l_i \le r_i \le 10^9$) --- ограничения на общее количество комплектов горнолыжного оборудования в пунктах проката, находящихся в поддереве вершины номер $i,ドル к началу сезона.

Гарантируется, что сумма $n$ по всем наборам входных данных не превышает 100ドル,000円$.

출력

Для каждого набора входных данных выведите ответ в следующем формате.

Если невозможно выполнить все условия маркетологов, в единственной строке выведите $-1$.

Иначе, в первой строке выведите минимальное количество рублей, которое необходимо потратить на закупку горнолыжного оборудования всем пунктам сети суммарно. Во второй строке выведите $n$ целых чисел $b_i,ドル где $b_i$ равно количеству комплектов, которое необходимо закупить пункту проката номер $i$. Если существует несколько способов выполнить все условия маркетологов, потратив минимальное возможное количество рублей, вы можете вывести любой из них.

제한

서브태스크

번호배점제한
124

$\sum n \le 500,ドル $r_i \le 1000$ для всех $i$

222

$\sum n \le 5000,ドル $r_i \le s_i$ для всех $i$

318

$\sum n \le 100,000円,ドル $l_i \le 100 \cdot s_i,ドル $r_i = 10^9$ для всех $i$

421

$\sum n \le 5000$

515

$\sum n \le 100,000円$

예제 입력 1

2
3
1 1
3 1 2
5 7
1 2
2 4
2
1
5 5
0 1
2 2

예제 출력 1

8
0 2 3
-1

노트

Иллюстрация для первого набора входных данных из примера:

Суммарное потраченное количество рублей равно $c_1 \cdot b_1 + c_2 \cdot b_2 + c_3 \cdot b_3 = 0 +たす 2 +たす 6 = 8$.

출처

Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics 2022 2번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /