小紫的树上染色
题号:NC289988
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}小红拿到了一棵由 n 个节点组成的树,她已经把所有节点都染成了红色。这时,小紫准备将 k 个节点染成紫色,使得最大红色连通块的大小尽可能小。你能帮帮她吗?

\hspace{15pt}对于树上的两个点,如果它们均为红色且相连,则称他们位于同一个红色连通块里。特别地,一个单独的点也构成一个红色连通块。连通块的大小即为连通块中节点的数量。

输入描述:

\hspace{15pt}第一行输入两个正整数 n,k \left(1 \leqq k \leqq n \leqq 10^5\right),代表节点数量和小紫准备染色的次数。 
\hspace{15pt}此后 n-1 行,第 i 行输入两个正整数 u_i,v_i \left(1 \leqq u_i,v_i \leqq n\right),代表第 i 条边连接节点 u_i 和节点 v_i。保证输入的图是一棵树。

输出描述:

\hspace{15pt}一个整数,代表最大红色连通块大小的最小值。特殊的,如果不存在红色连通块,请输出 0
示例1

输入

复制
5 1
1 2
1 3
1 4
1 5

输出

复制
1

说明

\hspace{15pt}在这个样例中,只要把 1 号节点染成紫色,剩余四个点各自构成一个红色连通块,大小为 1

示例2

输入

复制
2 2
1 2

输出

复制
0

说明

\hspace{15pt}在这个样例中,由于树上只有两个点且又需要染两个点,所以染完颜色后就不存在红色连通块了。
示例3

输入

复制
4 1
1 2
2 3
3 4

输出

复制
2