QOJ.ac

QOJ

Time Limit: 3.0 s Memory Limit: 256 MB Total points: 100

#20001. Потенціальна яма

Statistics

Мільярдер Christian сьогодні дізнався про алгоритм Dijkstra з потенціалами Johnson. Він йому так сподобався, що Christian вирішив додати потенціали до всіх своїх улюблених графів. Смаки Christian дуже своєрідні — у своїй таємній кімнаті він тримає лише орієнтовані зважені графи.

Нагадаємо, як працюють потенціали. Кожній вершині $v$ призначається потенціал — дійсне число $\varphi(v)$. Якщо було ребро з $u$ до $v$ з початковою вагою $w$, його нова вага дорівнюватиме $w'=w-\varphi(v)+\varphi(u)$.

Сила графа визначається як мінімум ваг його ребер. Christian не хоче слабких графів у своїй кімнаті, тому бажає вибрати потенціали так, щоб максимізувати силу графа. Допоможіть йому.

Вхідні дані

Перший рядок містить два цілі числа $n$ ($2\le n\le1000$) і $m$ ($1\le m\le100\,000$) — кількість вершин і ребер в улюбленому графі Christian. Кожен із наступних $m$ рядків містить три цілі числа $u_i,v_i,w_i$, що описують ребро: його початок, кінець і вагу відповідно ($1\le u_i,v_i\le n$, $|w_i|\le10^6$).

Вихідні дані

Перший рядок має містити максимальну силу графа. Якщо відповідь можна зробити як завгодно великою, натомість виведіть рядок «+inf».

Якщо відповідь скінченна, другий рядок має містити $n$ дійсних чисел — потенціали вершин. Модуль кожного з них не повинен перевищувати $10^{10}$. Ваша відповідь має відрізнятися і від правильної відповіді, і від відповіді, обчисленої на основі ваших потенціалів, не більше ніж на $10^{-5}$.

Приклади

Вхідні дані 1

3 3
1 2 1
2 3 1
3 1 1

Вихідні дані 1

1.0
0.0 0.0 0.0

Вхідні дані 2

2 1
1 2 1

Вихідні дані 2

+inf

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.