#1382
Platinum IV
수열과 쿼리 18
시간 제한
1s
메모리 제한
512MB
제출
1
정답
1
맞힌 사람
1
정답 비율
100.0%

문제

길이가 NN인 수열 A1,A2,,ANA_1, A_2, \cdots, A_N이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성해 보자.

  • l r: min(xy:lx,yr and Ax=Ay and xy)\min{(|x - y|: l\le x, y\le r\ \text{and}\ A_x = A_y\ \text{and}\ x\neq y)}를 출력한다. 조건을 만족하는 xx, yy가 존재하지 않는다면 대신 -1를 출력한다.

입력

첫째 줄에 수열의 크기 NN과 쿼리의 개수 QQ가 공백으로 구분되어 주어진다. (1N,Q2000001 \le N, Q \le 200\,000)

둘째 줄에 A1,A2,,ANA_1, A_2, \dots, A_N이 공백으로 구분되어 주어진다. (0Ai2000000 \le A_i \le 200\,000)

셋째 줄부터 QQ개의 줄에 걸쳐 각 줄에 쿼리가 주어진다. (1lrN1\le l \le r\le N)

출력

2번 쿼리의 답을 한 줄에 하나씩 출력한다.

예제 입력 1

6 4
1 2 3 2 1 1
1 5
1 4
1 3
1 6

예제 출력

2
2
-1
1
문제를 만든 사람
조서현
알고리즘 분류
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
#순위사용자언어시간메모리코드 길이
8941🥇
조서현
C++63ms9084KB1596B
난이도 투표
Platinum IV1명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
#사용자문제결과언어시간메모리코드 길이제출 시간
8941
맞았습니다
C++63ms9084KB1596B2026. 06. 09. 02:55