두 섬간의 연결 Batch 컴파일 명령
시간 제한 | 메모리 제한 | 제출 횟수 | 통과한 사람 수 | 비율 |
---|---|---|---|---|
400 ms | 16 MiB | 44 | 16 | 36.36% |
1에서 $N$까지 번호가 붙은 $N$개의 섬이 일렬로 쭉 늘어서 있다. 이 섬들 간에는 아직 다리가 없어서 배로만 이동을 해야 했기에 매우 불편했다. 그렇기에 정부에서는 이 섬들에 다리를 연결하고자 한다. 정부는 섬 $i$와 섬 $i+1$을 연결하는 다리를 총 $N - 1$개 지을 계획에 있다. 그러나 다리라는 것이 바로 지어지는 것이 아니다 보니, 짓는 순서에 따라 사람들에게 미치는 영향이 다르다. 정부는 다리가 순서대로 지어지는 순간마다 다음과 같은 것들을 알고 싶다.
- 두 섬 간에 왕래가 가능한 섬들 $(i, j)$ $(i < j)$ 쌍들의 개수
- 두 섬 $(i, j)$가 왕래 가능할 때 섬 $i$에서 섬 $j$까지 가기 위해 이용해야 하는 최소 다리 개수의 합
정부는 이 문제에 매우 골머리를 썩히고 있다. 그래서 정부는 이런 문제를 전문적으로 해결한다는 당신에게 도움을 요청했다. 정부가 원하는 값들을 구해주자!
입력 형식
첫 번째 줄에 섬의 개수 $N$ ($2 \le N \le 10^5$)가 주어진다.
다음 $N-1$개의 줄에는 각 줄마다 정수 $i$ ($1 \le i < N$)이 주어지는데, 이는 섬 $i$와 $i+1$을 잇는 다리를 짓겠다는 의미이다. 중복해서 등장하는 수는 없다.
출력 형식
각 다리를 지을 때마다 정부가 원하는 값을 공백으로 구분하여 각 줄마다 출력한다.
예제 입력 | 예제 출력 |
---|---|
3 1 2 |
1 1 3 4 |