공정한 회의
시간 제한2초메모리 제한1024 MB
알려지지 않은 거리를 정해 어떤 삼각형에도 가장 작은 변이 하나뿐이지 않도록 하고, 전체 합의 최솟값을 구합니다. 불가능하면 -1을 출력합니다.
문제
먼 미래, SNUPS는 알고리즘 교육 열풍에 힘입어 회원이 총 명인 큰 동아리가 되었다. 서로 다른 두 회원 사이에는 친밀한 정도를 나타내는 친밀 거리를 정의할 수 있으며, 값이 작을수록 더 친밀하다는 뜻이다. 번 회원과 번 회원 사이의 친밀 거리는 정수 로 나타낸다. 모든 , 에 대해 이고 를 만족한다.
안건이 생길 때마다 SNUPS는 회원 명 가운데 무작위로 세 명을 뽑아 회의를 진행한다. 뽑힌 세 명 중 친한 두 명이 연합하면 나머지 한 명의 의견이 반영되지 않는다. 구체적으로, 뽑힌 서로 다른 세 회원을 각각 , , 번 회원이라 할 때 이고 이면 번 회원의 의견이 반영되지 못한다. 이때 회의가 불공정하다고 한다.
제연이는 어떤 세 명이 회의를 하더라도 불공정한 경우가 생기지 않게 하고 싶다. 현재 쌍의 회원만 서로 알고 있고 나머지 회원끼리는 아직 모른다. 이미 아는 사이의 친밀 거리는 바꿀 수 없지만, 모르는 사이의 친밀 거리는 원하는 대로 정할 수 있다. 최종 친밀 거리도 정수이면서 위 범위와 대칭 조건을 만족해야 한다.
이러한 계획이 실현 가능하다면 를 최소로 만드는 것이 목표이다. 계획이 실현 가능한지 판단하고, 가능하다면 이 값의 최솟값을 구하라.
입력
첫 줄에 회원의 수 과 이미 서로 아는 관계의 수 이 주어진다. 둘째 줄부터 개의 줄에 걸쳐 세 정수 , , 가 공백으로 구분되어 주어진다. 이는 번 회원과 번 회원이 이미 아는 사이이며, 둘의 친밀 거리가 라는 뜻이다.
출력
계획이 실현 불가능하면 -1을, 가능하면 의 최솟값을 출력한다.
제한
- , , 일 때