만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

회사 이전

시간 제한1초메모리 제한1024 MB

요약
각 회사의 좌표를 갱신하고, 두 회사 좌표 차이의 절댓값을 묻는 질의에 답합니다.
난이도

쉬움10점 중 2점

유형
배열, 구현
정답자
아직 제출이 없습니다

문제

먼 나라 링크랜드에서는 IT 회사가 계속 새로 생기고 있습니다. 매주 새 회사가 세워지고, 합병되고, 인수되거나 문을 닫습니다. 링크랜드에서 이직을 준비하는 소프트웨어 엔지니어는 면접을 보는 회사의 사무실조차 찾기 어렵습니다.

이 문제를 해결하려고 새로운 IT 회사를 만듭니다. 제품은 단순합니다. 클라우드의 심층 신경 블록체인을 써서, 앱이 링크랜드 안의 임의의 두 IT 회사 사이 거리를 구합니다. 회사는 사무실을 자주 옮기고 그 변화를 따라잡기 어려우므로, 이 앱은 유용합니다. 이 정보를 한곳에 모아 세상을 더 나은 곳으로 만듭니다.

링크랜드는 하나의 직선을 따라 구성되어 있으므로, 회사의 위치는 좌표 하나로 나타납니다. 두 회사 사이의 거리는 두 좌표 사이의 거리와 같습니다.

여러분의 일은 회사의 대표 앱에 들어오는 두 종류의 요청을 처리하는 것입니다. 한 요청은 회사의 주소를 갱신합니다. 다른 요청은 두 회사 사이의 최단 거리를 묻습니다.

입력

첫 줄에는 공백으로 구분된 두 양의 정수 NN과 QQ가 주어집니다. NN은 앱이 관리하는 회사의 수(2≤N≤100 0002 \le N \le 100\,000)이고, QQ는 처리할 요청의 수(1≤Q≤100 0001 \le Q \le 100\,000)입니다.

다음 줄에는 NN개의 정수 XiX_i(1≤Xi≤1091 \le X_i \le 10^9)가 공백으로 구분되어 주어집니다. 이는 i=1i=1부터 i=Ni=N까지 순서대로 나열된 회사들의 초기 위치입니다.

이어지는 QQ개의 줄 각각에는 다음 두 형식 중 하나로 정수 3개가 주어집니다.

  • 1 C X: 회사 CC가 위치를 XX로 옮깁니다.
  • 2 A B: 회사 AA와 회사 BB 사이의 거리를 묻는 질의입니다.

1≤A,B,C≤N1 \le A, B, C \le N과 1≤X≤1091 \le X \le 10^9이 보장됩니다. 두 회사가 같은 위치에 있을 수 있습니다. 2번 형식의 질의는 적어도 하나 있습니다.

출력

2번 형식의 각 질의에 대해, 회사 AA와 회사 BB 사이의 거리를 한 줄에 출력합니다.

힌트

첫 번째 질의에서 2번 회사가 위치 10으로 옮깁니다. 이어서 4번 회사와 5번 회사 사이의 거리를 물으면 3입니다. 다음 질의는 1번 회사와 3번 회사 사이의 거리이며, 이것도 3입니다. 이후에도 갱신과 질의가 여러 번 이어집니다.

예제1

  1. 예제 1

    입력
    5 10
    5 2 8 1 4
    1 2 10
    2 4 5
    2 1 3
    1 4 3
    2 1 5
    2 5 2
    1 4 1
    2 2 4
    1 3 15
    2 4 1
    
    예상 출력
    3
    3
    1
    6
    9
    4