A: N>=2K-1일때만 가능

B: 결국 제일 작은수와 제일 큰 수를 가진 구간을 최소비용으로 사면 되는데 제일 작은거, 제일 큰거, 제일 작으면서 큰거 가진 구간 비용으로 case work

C: 한 위치에서 쿼리를 두번날려서 같으면 p[i]=i고 아니면 한 사이클 다볼때까지 쿼리 날리면 됨. 최대 쿼리 개수 2N+1개로 안해줘서 구현 개같음.

D: 그냥 (N+1, N+1) ~ (2N, 2N) 사각형의 네 꼭짓점에 대해 그거와 인접한 점만 뚫으면 끝남.

E: 부분합 + 이진탐색. 하나 민 뒤에 모든 그룹이 조건 만족하는지 알기 위해 미리 정렬해둔 곳에서 같은 인덱스끼리, 인덱스 하나 차이나는거끼리 비교 결과를 미리 구해두면 됨.

F: 몰라씨발


개인적으로는 A<D<B<C<<E고 하나같이 구현이 더러웠음.