페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#1844

기합 3s 1024MB

문제

정올 학생들은 모의고사를 풀어야 할 시간에 게임을 한다.

이런 학생들이 눈에 거슬린 정올쌤은 학생들을 운동장에 불러 모아 단체기합을 실시하려고 한다.

먼저 N명의 학생들을 1~N번으로 번호를 매긴 후 왼쪽에서 오른쪽으로 줄을 선다. 

그 후, 정올쌤은 아래 두 명령 중 한 명령을 지시한다.

 

1 X Y : 왼쪽으로부터 X번째에 위치한 학생과 왼쪽으로부터 Y번째에 위치한 학생의 위치를 서로 바꾸어라.

2 A B : 번호가 A 이상 B 이하인 학생들이 서로 이웃해 있는지 대답하여라.

 

하지만 학생들은 게임만 하느라 머리가 퇴화되어 2번째 명령에 대해 제대로 대답하지 못 했다.

당신은 정올쌤이 할 명령이 무엇인지 알고 있으므로, 예상 대답을 구해서 학생들에게 알려주자.


입력

첫 번째 줄에는 학생 수 N과 명령의 수 M이 주어진다. 

두 번째 줄에는 줄에 서 있는 학생의 번호가 왼쪽에서부터 주어진다.

세 번째 줄부터 M개의 줄에는 정올쌤의 명령이 주어지는데, "1 X Y" 또는 "2 A B" 중 하나이다. 

 

[제약조건]

* 2 ≤ N, M ≤ 200,000 

* 1 ≤ X, Y ≤ N, X ≠ Y 

* 1 ≤ A ≤ B ≤ N


출력

"2 A B" 명령에 대하여 한 줄에 하나씩 번호가 A 이상 B 이하인 학생들이 서로 이웃해 있으면 "YES"를 아니면 “NO"를 출력한다.


예제 #1

5 3 

2 4 1 3 5
2 2 5
1 3 1
2 2 5
NO

YES

예제 #2

7 7

4 7 3 5 1 2 6
2 1 7
1 3 7
2 4 6
2 4 7
2 1 4
1 1 4
2 1 4
YES

NO
YES
NO
YES


출처

COCI 2012/2013 task 3 Snjeguljica

로그인해야 코드를 작성할 수 있어요.