시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
7 초 | 512 MB | 230 | 41 | 17 | 25.373% |
길이가 N인 수열 A1, A2, ..., AN이 주어진다. 수열의 모든 수는 1 이상 N 이하이며 서로 다르다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오.
l r k
: 부분배열 [Al, Al+1, ..., Ar] 을 k만큼 오른쪽으로 시프트한다. 고로, Al 은 Al+k, Ar-k 는 Ar, Ar-k+1 은 Al, Ar 은 Al+k-1 이 된다. 이후, 수열에 길이 3의 증가하는 부분 수열 (subsequence) 이 있다면 YES
, 아니면 NO
를 출력한다. 첫째 줄에 수열의 크기 N이 주어진다. (1 ≤ N ≤ 120,000)
둘째 줄에는 A1, A2, ..., AN이 주어진다. 모든 수는 서로 다르다. (1 ≤ Ai ≤ N)
셋째 줄에는 쿼리의 개수 M이 주어진다. (1 ≤ M ≤ 120,000)
넷째 줄부터 M개의 줄에는 쿼리가 한 줄에 하나씩 주어진다. (1 ≤ L ≤ R ≤ N, 0 ≤ K ≤ R-L+1)
쿼리의 결과를 한 줄에 하나씩 출력한다.
6 2 5 6 1 3 4 1 1 6 5
YES
8 5 1 2 8 7 6 3 4 4 2 4 2 4 5 1 1 3 2 3 8 2
YES YES YES YES
5 4 3 2 5 1 2 3 4 1 1 2 1
NO YES
6 6 5 4 3 2 1 3 1 1 0 1 3 1 2 5 3
NO NO YES