Lost Civilization
시간 제한1초메모리 제한1024 MB
트리의 각 도시에서 가장 가까운 외곽 도시까지의 거리가 A_i 이상이 되도록 N개 도시를 잇는 트리가 존재하는지 판별하고, 존재하면 그러한 도로 N-1개를 아무거나 출력한다.
문제
당신은 잃어버린 문명에 대해 연구하는 고고학자이다. 당신이 연구하고 있는 문명은 다음과 같은 특징을 갖는다.
- 문명은 개의 도시로 이루어져 있고, 각각의 도시에는 번부터 번까지 번호가 붙어 있다.
- 문명에는 총 개의 양방향 도로가 있다. 각각의 도로는 서로 다른 두 도시를 잇는다.
- 임의의 두 도시를 고르더라도 둘 사이를 하나 이상의 도로를 통해 왕복할 수 있다.
즉, 잃어버린 문명은 트리 구조를 이루고 있다.
문명에서의 외곽 도시는 연결된 도로의 수가 정확히 하나인 도시로 정의된다. 또한, 도시의 안정성은 그 도시에서부터 가장 가까운 외곽 도시까지의 거리로 정의된다. 이때, 두 도시 사이의 거리는 한 도시에서 다른 도시로 이동하기 위해 지나야 하는 도로 개수의 최솟값으로 정의된다. 정의에 의해, 모든 외곽 도시의 안정성은 이다.
당신은 이 문명에 대한 새로운 가설을 세웠다. 이는 어떤 배열 에 대하여, 모든 에 대해 번 도시의 안전성은 이상이라는 것이다.
과 이 주어졌을 때, 가설을 만족하는 문명이 있는지 판별하고, 만약 존재한다면 조건을 만족하는 아무 문명을 출력하라.
입력
첫 번째 줄에 문명을 이루는 도시의 수를 나타내는 정수 이 주어진다.
두 번째 줄에는 정수 이 순서대로 공백으로 구분되어 주어진다.
출력
만약 주어진 가설을 만족하는 문명이 존재한다면, 줄에 걸쳐 문명을 구성하는 도로에 대한 정보를 출력해야 한다.
번째 줄에는 두 정수 와 를 공백을 사이에 두고 출력해야 하는데, 이는 문명에 번 도시와 번 도시를 연결하는 도로가 있음을 의미한다.
만약 주어진 가설을 만족하는 문명이 존재하지 않을 경우, 첫 줄에 을 출력해야 한다.
제한
- 모든 에 대하여