#142
Platinum V
차원문
스페셜 저지채점 준비중
시간 제한
1s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

차원문은 매우 편리한 교통수단이다. 차원문은 평범한 문처럼 생겼지만, 문을 열고 들어가면 다른 공간으로 이동할 수 있는 특별한 성질이 있다. 단, 반대 방향으로 차원문을 이용할 수는 없다. ANA 나라에는 NN개의 도시가 있다. 각각의 도시는 1,2,,N1,2,\cdots ,N번으로 번호가 매겨져 있다. 차원문을 다루는 차원술사 인수는 1,2,,N1,2,\cdots ,N번 도시로 이동할 수 있는 차원문을 만들고 각각의 차원문에 1,2,,N1,2,\cdots ,N번으로 번호를 매겼다. 그리고 이를 NN개의 도시에 하나씩 무작위로 설치했는데, ii번 도시에 설치한 차원문의 번호는 aia_i번이고 이는 aia_i번 도시로 향하는 차원문이다.

그런데, 인수는 임의의 한 도시에서 차원문만을 이용해서 다른 모든 도시를 방문하는 것이 불가능할 수도 있다는 것을 알게 되었다. 그래서 인수는 임의의 서로 다른 두 도시를 선택한 후에 두 도시의 차원문을 서로 바꾸는 마법을 몇 번 사용해서 이를 해결하려고 한다. 인수가 마법을 사용하기 위해서는 마나가 필요한데, 서로 다른 두 도시의 차원문을 바꾸는 마법을 사용하려면 두 차원문의 번호 차의 제곱만큼 마나가 필요하다. 예를 들어, 11번 도시에 설치된 차원문이 44번 도시로 향하는 44번 차원문이고, 44번 도시의 차원문이 66번 도시로 향하는 66번 차원문이라면 두 도시의 차원문을 바꾸기 위해서는 (46)2=4(4-6)^2=4만큼의 마나가 필요하다.

임의의 한 도시에서 차원문만을 이용해서 다른 모든 도시를 방문하는 것이 가능하게 만들기 위해 필요한 최소 마나를 구해보자. 그리고 어떻게 마법을 사용해야 하는지도 구해보자. 단, 마법을 사용하는 횟수가 최소일 필요는 없다.

입력

첫째 줄에 정수 N(2N200000)N(2\le N\le 200\, 000)이 주어진다.

둘째 줄에 정수 a1,a2,,aN(1aiN)a_1,a_2,\cdots ,a_N(1\le a_i\le N)이 공백으로 구분되어 주어진다.

출력

첫째 줄에 필요한 최소 마나 CC와 마법을 사용하는 횟수 MM을 공백으로 구분하여 출력한다. 마법을 사용하는 횟수가 최소일 필요는 없다.

둘째 줄부터 MM개의 줄에 순서대로 차원문을 바꿔야 하는 두 도시의 번호를 공백으로 구분하여 출력한다.

예제 입력 1

3
1 3 2

예제 출력 1

1 1
1 3

11번 도시에서 차원문만을 이용해서 2,32,3번 도시를 방문하는 것이 불가능하다. 2,32,3번 도시에서는 11번 도시를 방문하는 것이 불가능하다.

마법을 사용해서 1,31,3번 도시의 차원문을 바꾸면 임의의 한 도시에서 차원문만을 이용해서 다른 모든 도시를 방문하는 것이 가능하다. 이 때, 두 차원문의 번호 차의 제곱인 (12)2=1(1-2)^2=1만큼의 마나가 필요하다.

예제 입력 2

3
3 1 2

예제 출력 2

0 0

1,2,31,2,3번 도시에서 차원문만을 이용해서 다른 모든 도시를 방문하는 것이 가능하기 때문에 마법을 사용할 필요가 없다.

문제를 만든 사람
kaorin
알고리즘 분류
코드 제출

이 문제는 현재 제출할 수 없습니다.

이 현상이 잘못되었다고 생각될 경우 관리자한테 문의주세요.

내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Platinum V1명 투표· 약 2개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.