실행 시간 제한 | 메모리 제한 |
---|---|
2 초 | 1024 MB |
길동의 도시에는 () 명의 사람들이 살고 있으며, 각자의 집을 소유하고 있습니다. 이 사람들을 편리하게 로 표시하겠습니다. 각 에 대해, 사람 는 사람 ()의 집에 방문하려고 합니다.
순열 of 가 주어질 때, 방문은 다음과 같이 이루어집니다.
부터 까지의 각 에 대해:
만약 사람 가 이미 자신의 집을 떠났다면, 그럼 사람 는 자신의 집에 남습니다.`
그렇지 않다면, 사람 는 자신의 집을 떠나 사람 의 집에 방문합니다. 이 방문은 박수를 번 칩니다 ().
모든 방문이 끝난 후 가능한 모든 순열 에 대해 가장 큰 박수의 수를 구하십시오.
첫 번째 줄에는 이 들어있습니다.
에 대하여, 번째 줄에는 두 개의 공백으로 구분된 정수 와 가 있습니다.
답을 나타내는 단일 정수를 적습니다.
이 문제에는 큰 크기의 정수가 사용되므로 64비트 정수 데이터 형식(e.g., C / C++에서의 "long long")이 필요할 수 있습니다.
4 2 10 3 20 4 30 1 40
90
일 경우:
일 경우: