교차하는 현으로 최대 집합 만들기
시간 제한5초메모리 제한512 MB
원 위의 n개 점이 현 n/2개로 연결되어 있을 때, 최대 k개의 현을 바꿔 서로 모두 교차하는 현의 최대 개수를 구합니다.
문제
원둘레 위에 개의 점이 정다각형을 이루도록 놓여 있다. 점들은 시계 방향으로 1부터 까지 번호가 매겨져 있다. 점의 개수 은 짝수이다.
각 점은 정확히 다른 점 하나와 연결되어 있어 개의 현이 만들어진다. 이 중 개의 현을 임의의 현으로 바꿀 수 있다. 주어진 점에서 끝나지 않는 현이어도 된다. 그다음 모든 쌍이 서로 교차하는 현들의 집합을 고른다. 목표는 현을 바꾸고 집합을 골라서 집합의 크기를 최대로 만드는 것이다.
입력
첫 번째 줄에 정수 과 가 주어진다 (, 은 짝수, ).
두 번째 줄에는 1부터 까지 정수의 순열 가 주어진다. 이면 점 와 점 가 현으로 연결되어 있다. 이면 이고, 임이 보장된다.
출력
개의 주어진 현을 바꾼 뒤 고를 수 있는, 서로 교차하는 현 집합의 최대 크기를 한 정수로 출력한다.
힌트
두 번째 예시에서는 현 을 바꾸면 서로 교차하는 현 3개의 집합을 얻을 수 있다. 예를 들어 를 제외한 모든 현은 쌍마다 교차하는 집합을 이룬다.
