Farmer John continua mantendo vacas em forma com exercícios nos caminhos dos pastos. Vértices e arestas bidirecionais têm exatamente um caminho simples entre cada par, parecendo árvore. Todas as arestas sinuosas têm mesma extensão, surpreendentemente.
Vacas astutas chamam de comprimento a maior distância entre dois vértices de um conjunto. Se grande demais, recusam todo exercício.
Mapeou $V$ vértices ($2 \le V \le 100,000$), números $1..V$. Bloquear caminho entre dois cria mais conjuntos e reduz ambos comprimentos.
Do conjunto totalmente conectado de árvore, $S$ bloqueios ($1 \le S \le V-1$) criam $S+1$ conjuntos. Minimize o máximo de todos com melhor escolha.
Todas as $V-1$ arestas ligam $A_{i}$ ($1 \le A_{i} \le V$), $B_{i}$ ($1 \le B_{i} \le V; A_{i} \ne B_{i}$).
Exemplo linear com 7 vértices:
1---2---3---4---5---6---7
Dois bloqueios possíveis: 1---2 | 3---4 | 5---6---7
Máximo $2$, resposta ótima, impossível melhorar.
Limite de tempo: 2 segundos
Limite de memória: 32 MB
Entrada
- Linha 1: dois inteiros $V$, $S$ separados por espaço.
- Linhas $2..V$: dois inteiros $A_{i}$, $B_{i}$ separados por espaço.
Saída
- Linha 1: inteiro, melhor máximo comprimento com $S$ bloqueios.
Exemplos
Entrada 1
7 2 6 7 3 4 6 5 1 2 3 2 4 5
Saída 1
2
Autor do problema: Michael Cohen, 2010