시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 242 | 94 | 79 | 47.024% |
트리는 사이클이 없는 연결 그래프이다. 정점 N개로 이루어진 트리는 N-1개의 간선으로 이루어져 있다.
트리의 두 정점 사이의 거리는 한 정점에서 다른 정점으로 갈 때, 지나는 간선 개수의 최솟값이다.
트리의 지름은 모든 두 정점 사이의 거리 중에서 가장 큰 값이다.
아래와 같은 조건을 만족하는 트리 중에서 지름이 가장 긴 것을 만들어보자.
cnt배열이 주어졌을 때, 만들 수 있는 트리 중에서 지름이 가장 큰 것의 지름을 출력하는 프로그램을 작성하시오.
첫째 줄에 cnt 배열의 크기 N (1 ≤ N ≤ 50)이 주어진다.
둘째 줄에는 cnt 배열의 값이 cnt[1]부터 cnt[N]까지 차례대로 주어진다. (1 ≤ cnt[i] ≤ 1000)
첫째 줄에 문제의 조건을 만족시키는 트리 중에서 지름이 가장 큰 것의 지름을 출력한다.
1 3
2
2 2 2
4
4 4 1 2 4
5
예제 1의 경우에 만들 수 있는 트리는 한 가지이다.
예제 2의 경우에 다음과 같은 두 가지 트리를 만들 수 있다. 왼쪽 트리의 지름은 3, 오른쪽 트리의 지름은 4이다.
예제 3의 경우에는 아래 그림과 같은 트리를 만들 수 있다.