페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2778

Musician Duet 1s 64MB

문제

N명의 음악가들이 듀엣 프로젝트를 진행한다. 먼저 음악가들을 두 명씩 묶은 후(N이 홀수이면 한 명이 남는다) 각 팀마다 듀엣 앨범을 녹음해서 발매한다.

 

음악가들은 각자 듀엣하고 싶은 사람이 한 명씩 있다. 물론 모든 음악가들이 자신이 원하는 음악가와 듀엣을 하는 것은 불가능하다. 따라서 프로젝트의 총책임자인 민혁이는 다음과 같은 상황의 음악가들이 최소가 되도록 팀을 구성하려고 한다.

 

- 불행한 음악가 : 자신이 원하는 음악가와 듀엣하지 못하는 경우 - 아쉬운 음악가 : 불행한 음악가들 중, 자신이 원하는 음악가도 불행한 경우

 

음악가들의 정보가 주어질 때, 민혁이의 요구에 맞게 팀을 짜는 프로그램을 작성하자.


입력

첫 번째 줄에 불행한 음악가와 아쉬운 음악가의 수의 최솟값을 출력한다. 불행한 음악가의 수가 최소인 경우와 아쉬운 음악가의 수가 최소인 경우가 다를 수 있음에 유의하여라. <제약조건> • 전체 데이터의 13%는 N ≤ 10이다. • 전체 데이터의 27%는 N ≤ 25이다. • 전체 데이터의 60%는 N ≤ 1,000이다.

출력

첫 번째 줄에 불행한 음악가와 아쉬운 음악가의 수의 최솟값을 출력한다. 불행한 음악가의 수가 최소인 경우와 아쉬운 음악가의 수가 최소인 경우가 다를 수 있음에 유의하여라.

예제

5

2 3 1 1 2
3 1


출처

functionx
로그인해야 코드를 작성할 수 있어요.