방문
면접 대비시간 제한2초메모리 제한1024 MB
각 친구 i는 a_i의 농장을 방문할 때 v_i번 음매 소리를 냅니다. 방문 순서를 정해 얻을 수 있는 음매 소리 총합의 최댓값을 구합니다.
문제
Bessie의 소 마리()에게는 번의 번호가 붙어 있고, 각자 자기 농장을 가지고 있다. 각 에 대해 소 는 소 를 방문하려 한다().
의 순열 이 주어지면 방문은 다음과 같이 진행된다.
를 부터 까지 차례로 본다.
- 소 가 이미 농장을 떠났다면 소 는 자기 농장에 남는다.
- 그렇지 않다면 소 는 농장을 떠나 소 의 농장을 방문한다. 이 방문으로 기쁜 울음소리 "moo"가 번 울린다().
모든 방문이 끝난 뒤 울린 "moo"의 최대 개수를 구하라. 가능한 모든 순열 에 대한 최댓값이다.
입력
첫 줄에 이 주어진다.
각 에 대해 번째 줄에 공백으로 구분된 정수 와 가 주어진다.
출력
답을 나타내는 정수 하나를 출력한다.
값이 커질 수 있으므로 64비트 정수형(C/C++의 "long long" 등)이 필요할 수 있다.
힌트
이면 다음과 같다.
- 소 이 소 의 농장을 방문해 "moo"가 번 울린다.
- 소 는 소 이 이미 떠난 것을 보고 아무 일도 없다.
- 소 이 소 의 농장을 방문해 번 울린다.
- 소 는 소 이 이미 떠난 것을 보고 아무 일도 없다.
총 번이다.
이면 다음과 같다.
- 소 가 소 의 농장을 방문해 번 울린다.
- 소 이 소 의 농장을 방문해 번 울린다.
- 소 가 소 의 농장을 방문해 번 울린다.
- 소 은 소 가 이미 떠난 것을 보고 아무 일도 없다.
총 번이다. 이것이 모든 순열 에 대한 최댓값이다.