QOJ.ac

QOJ

Límite de tiempo: 2.0 s Límite de memoria: 512 MB Puntuación total: 100

#14800. 邮递员

Estadísticas

强尼(Johnny)刚刚成为一名邮递员。因为他是公司的新人,所以他得到了最糟糕的任务——给一个新街区投递紧急信件。紧急程度不容小觑:投递截止时间恰好在 1 小时后。此外,就在最近,邮政公司推出了一套新的对客户友好的规则:对于在截止时间之后投递的每封信,邮政公司将为每延迟一小时支付 1 拜塔勒(bythaler)的赔偿金。

该街区由 $n$ 栋房屋组成,编号为 $1$ 到 $n$。强尼必须给每栋房屋投递一封信。这些房屋由 $n - 1$ 条双向街道连接,使得对于任意一对房屋,都可以通过沿着街道行走从一栋房屋到达另一栋房屋。

强尼必须尽快投递信件,但由于公司的行车规定,公司的车只能将他送到他选择的一栋房屋,之后强尼必须步行。乘车过程恰好需要一小时,因此他将恰好准时投递一封信。步行通过每条街道也恰好需要一小时。将信件投入邮箱的时间可以忽略不计。不用说,强尼必须投递所有的信件。

尽管强尼很清楚按时投递是不可能的,但他仍然希望至少能最小化邮政公司必须支付的赔偿金总额。请编写一个程序帮助他:读取街区中的房屋数量以及连接它们的街道描述,确定延迟投递的最小赔偿金,并将该数字输出。

输入格式

输入的第一行包含一个整数 $n$($1 \le n \le 1\,000\,000$),表示街区中的房屋数量。

接下来的 $n - 1$ 行,每行描述街区中的一条街道。每个描述包含两个整数 $a$ 和 $b$($1 \le a, b \le n$),由单个空格分隔,表示由一条双向街道直接相连的两栋房屋的编号。

输出格式

输出一个整数,表示邮政公司必须支付的最小赔偿金(以拜塔勒为单位)。

样例

输入样例 1

5
1 2
2 3
2 4
2 5

输出样例 1

13

输入样例 2

4
1 2
1 3
3 4

输出样例 2

6

说明

对于样例 1,强尼可以在 1 号房屋下车,投递信件(准时,因此赔偿金为 0),然后步行到 2 号房屋,投递信件(赔偿金为 1),接着步行到 3 号房屋并投递信件(赔偿金为 2)。接下来,他可以返回 2 号房屋,然后继续步行到 4 号房屋并在那里投递信件(赔偿金为 4),再次返回 2 号房屋,步行到 5 号房屋并在那里投递最后一封信(赔偿金为 6)。总赔偿金为 $0 + 1 + 2 + 4 + 6 = 13$。

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.