모든 수를 포함하는 최단 구간
시간 제한3초메모리 제한512 MB
배열 원소를 점 업데이트하면서 1부터 K까지 모든 값을 포함한 가장 짧은 연속 구간 길이를 구합니다.
문제
길이가 인 정수 배열이 있다. 각 원소는 이상 이하의 정수다. 이 배열에 두 종류의 질의 개가 주어지고, 주어진 순서대로 처리한다.
첫 번째 종류는 배열의 한 자리 값을 다른 값으로 바꾼다. 두 번째 종류는 현재 배열에서 부터 까지의 모든 정수를 한 번 이상 포함하는 가장 짧은 연속 부분 배열의 길이를 구한다.
질의를 순서대로 처리하고, 두 번째 종류의 답을 모두 출력하라.
입력
첫째 줄에 , , 이 공백으로 구분되어 주어진다 (, ).
둘째 줄에 배열의 원소 개가 공백으로 구분되어 주어진다. 각 원소는 이상 이하의 정수다.
이어지는 개의 줄에 질의가 한 줄에 하나씩 주어진다. 형식은 다음 둘 중 하나다.
1 p v: 번째 수를 로 바꾼다 (, ).2: 현재 배열에서 부터 까지를 모두 포함하는 가장 짧은 연속 부분 배열의 길이를 묻는다.
출력
두 번째 종류의 질의마다 답을 한 줄에 하나씩 출력한다. 조건을 만족하는 연속 부분 배열이 없으면 -1을 출력한다.