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

#8022
서브태스크

보물 찾기 1초 1024MB

문제

당신은 친구인 다빈과 함께 아래와 같이 무한히 긴 수직선 위에서 보물찾기 놀이를 하고 있다.

먼저 당신은 수직선에 있는 서로 다른 두 위치 L, R에 보물 두 개를 숨긴다. (L < R) 아래는 숨긴 두 보물의 위치가 L = -2, R = 3인 경우의 예시이다. 주황색으로 표시된 두 개의 칸에 보물이 숨겨져 있다.

당신이 보물 두 개를 숨긴 다음, 다빈이 보물을 찾기 시작한다. 다빈은 당신이 정한 시작 위치 S에서 시작해, 아래 단계들을 순서대로 수행하며 보물을 찾을 것이다. 시작 위치 S는 항상 두 보물의 위치 LR 사이에 있다. (L < S < R) 두 보물 중 하나의 보물을 찾으면 보물찾기 놀이가 끝난다.

  1. 위치 S를 조사한다.

  2. 오른쪽으로 1칸 이동해, 위치 S + 1를 조사한다.

  3. 왼쪽으로 2칸 이동해, 위치 S + 1 - 2를 조사한다.

  4. 오른쪽으로 3칸 이동해, 위치 S + 1 - 2 + 3를 조사한다.

  5. 왼쪽으로 4칸 이동해, 위치 S + 1 - 2 + 3 - 4를 조사한다.

  6. 오른쪽으로 5칸 이동해, 위치 S + 1 - 2 + 3 - 4 + 5를 조사한다.

  7. ...

즉, x번째 단계에서는, x가 짝수라면 오른쪽으로 x-1칸 이동하고 x가 홀수라면 왼쪽으로 x-1칸 이동해서 도착한 위치를 조사한다. 만약, 어떤 단계에서 조사한 칸에 보물이 있으면 보물찾기 놀이가 끝난다. 아래 그림은 L = -2, R = 3이고 다빈의 시작 위치 S = 0인 경우의 보물찾기 놀이의 과정이다.

5번째 단계에서 조사한 위치 -2에 보물이 있으므로, 5번째 단계에서 보물찾기 놀이가 끝난다.

당신이 정하는 세 변수 L, R, S의 값에 따라서, 보물찾기 놀이가 끝나는 단계가 달라진다. 따라서, 당신은 세 변수 값의 조합을 여러 가지 시도해 보려 한다.

각 경우에 대해, 두 보물의 위치 L, R과 다빈이 시작하는 위치 S가 주어졌을 때, 몇 번째 단계에서 보물찾기 놀이가 끝나는지 구하여라.


입력

첫 번째 줄에 당신이 시도해 볼 경우의 수 T가 주어진다. 이후 T개의 줄에, 각 경우에 대해 세 변수 L, R, S의 값이 공백으로 구분되어 주어진다.


출력

T개의 줄에 걸쳐, 각 경우에 몇 번째 단계에서 보물찾기 놀이가 끝나는지 출력한다.

[제약조건]

  • 주어지는 모든 수는 정수이다.

  • 1 ≤ T ≤ 10,000 

  • -100,000,000 ≤ L < S < R ≤ 100,000,000


부분문제

번호 점수 조건
#18점

T= 1, R = 1, S = 0 

#29점

T = 1, L = -1, S = 0

#315점

-1,000 ≤ L ≤ -1, 1 ≤ R ≤ 1,000, S = 0

#416점

-1,000 ≤ L < S < R ≤ 1,000

#552점

추가 제약 조건 없음.


예제1

입력
2
-230
486
출력
5
4

첫 번째 경우 (L = -2, R = 3, S = 0)는 위의 그림에 설명되어 있다.

두 번째 경우 (L = 4, R = 8, S = 6)에서 다빈은 아래와 같은 과정으로 보물을 찾게 된다.

  1. 위치 6을 조사한다.

  2. 오른쪽으로 1칸 이동해, 위치 6 + 1 = 7을 조사한다.

  3. 왼쪽으로 2칸 이동해, 위치 7 - 2 = 5를 조사한다.

  4. 오른쪽으로 3칸 이동해, 위치 5 + 3 = 8을 조사한다.

4번째 단계에서 조사하는 위치 8에는 보물이 있으므로, 4번째 단계에서 보물찾기 놀이가 끝난다.


예제2

입력
9
-110
-210
-310
-120
-220
-320
-130
-230
-330
출력
2
2
2
3
4
4
3
5
6

태그


출처

2024 KOI 2차 초1

역링크