[PS] 2012 Daejeon 6113 Dot Number

본 문제는 입력이 값 2개가 들어온다.

다음 그림을 먼저 보자

예를들어 1 5 와 같이 입력이 들어왔으면

1과 5가 좌표 몇 몇에 있는지 알아낸다.

1은 (1,1) 에 있고 5는 (2,2) 에 있다.

그럼 이 좌표들을 더한 (3,3) 에 있는 숫자를 출력하면 된다.

답은 13이다.

우측아래로 숫자가 증가되므로

x가 1인 지점을 모두 배열에 저장한다.

V={1,2,4,7.....};

그리고 이진탐색으로 값을 찾는다. (이 이진탐색은 값을 못찾았을경우 바로 전 인덱스를

반환하도록 짠다)

5가 입력이면 4의 인덱스 3이 출력되도록한다.

그럼 X의 좌표는 실제 입력값 - V[index] + 1 이 되며

Y의 좌표는 index - (입력값 - V[index]) 이다.

정답의 (x,y)를 찾고, 정답을 찾아야 한다.

정답의 Y좌표를 우리는 알고있다.

(3,3)일떄 V[3] 은 4이며

여기서 부터 X축으로 한칸 갈떄매다 index가 1씩 증가하면서 더해진다.

이렇게 답을 찾으면 된다.