순열에서의 교환
시간 제한1초메모리 제한1024 MB
순열과 교환 가능한 위치 쌍이 주어질 때, 허용된 교환을 임의로 적용해 얻을 수 있는 가장 긴 증가 부분수열의 최대 길이를 구합니다.
문제
길이가 인 순열 와 개의 위치 쌍이 주어진다. 한 번의 연산에서는 이 개의 쌍 중 하나를 골라 두 위치의 원소를 서로 바꾼다. 이에 따라 순열이 바뀐다. 연산은 몇 번이든 해도 되고, 한 번도 하지 않아도 된다.
길이가 인 증가 부분 수열은 다음 두 조건을 만족하는 인덱스의 집합 이다.
- ;
- .
올바르게 교환했을 때 얻을 수 있는 가장 긴 증가 부분 수열의 최대 길이는 얼마인가?
입력
첫째 줄에 순열의 길이 과 교환할 수 있는 위치 쌍의 개수 이 주어진다 (, ).
둘째 줄에는 순열의 원소인 서로 다른 정수 개가 공백으로 구분되어 주어진다 ().
다음 개의 줄에는 각각 원소를 교환할 수 있는 위치 와 가 주어진다 (, ). 같은 쌍이 두 번 주어지지 않는다.
출력
교환을 마친 순열이 가질 수 있는 가장 긴 증가 부분 수열의 길이를 정수 하나로 출력한다.
힌트
첫 번째 예시의 순열 을 보자.
5번과 6번 위치의 원소를 바꾸면 이 된다.
이제 1번과 5번 위치의 원소를 바꾸면 이 된다.
이 순열의 가장 긴 증가 부분 수열의 길이는 이다. 해당 부분 수열은 이다.