문제
N명의 음악가들이 듀엣 프로젝트를 진행한다. 먼저 음악가들을 두 명씩 묶은 후(N이 홀수이면 한 명이 남는다) 각 팀마다 듀엣 앨범을 녹음해서 발매한다.
음악가들은 각자 듀엣하고 싶은 사람이 한 명씩 있다. 물론 모든 음악가들이 자신이 원하는 음악가와 듀엣을 하는 것은 불가능하다. 따라서 프로젝트의 총책임자인 민혁이는 다음과 같은 상황의 음악가들이 최소가 되도록 팀을 구성하려고 한다.
- 불행한 음악가 : 자신이 원하는 음악가와 듀엣하지 못하는 경우 - 아쉬운 음악가 : 불행한 음악가들 중, 자신이 원하는 음악가도 불행한 경우
음악가들의 정보가 주어질 때, 민혁이의 요구에 맞게 팀을 짜는 프로그램을 작성하자.
입력
첫 번째 줄에 불행한 음악가와 아쉬운 음악가의 수의 최솟값을 출력한다.
불행한 음악가의 수가 최소인 경우와 아쉬운 음악가의 수가 최소인 경우가 다를 수 있음에 유의하여라.
<제약조건>
• 전체 데이터의 13%는 N ≤ 10이다.
• 전체 데이터의 27%는 N ≤ 25이다.
• 전체 데이터의 60%는 N ≤ 1,000이다.
출력
첫 번째 줄에 불행한 음악가와 아쉬운 음악가의 수의 최솟값을 출력한다.
불행한 음악가의 수가 최소인 경우와 아쉬운 음악가의 수가 최소인 경우가 다를 수 있음에 유의하여라.
예제
5
2 3 1 1 2
3 1
힌트
출처
functionx