사건은 다가와 (Hard)
시간 제한4초메모리 제한1024 MB
수직선 위 원점에서 출발해 각 시각마다 주어진 위험 구간 밖에 있어야 할 때, 최소 이동 거리를 구하거나 불가능하면 -1을 출력한다.
문제
민정이는 현재 수직선의 원점 (위치 0)에 있다. 민정이는 매 시점 수직선 상에서 왼쪽 또는 오른쪽으로 1초에 1의 속도로 이동할 수 있다. 물론, 정지해 있을 수도 있다.
민정이는 다음과 같은 사건이 번 발생할 것이라는 걸 알고 있다.
- 초 뒤에 민정이가 위치 초과 위치 미만에 있으면, 카리나의 body bang을 맞게 된다.
위치 와 위치 는 안전하다는 점에 유의하라.
민정이는 카리나의 body bang을 맞지 않기 위해 적절히 움직이려 한다. 민정이가 움직여서 카리나의 body bang을 피할 수 있는지 판별하고, 피할 수 있다면 이동 거리를 최소화하라.
입력
첫째 줄에, 사건이 발생하는 횟수 이 주어진다.
이후 개의 줄에, 각 사건의 , , 가 공백을 사이에 두고 주어진다.
출력
민정이가 카리나의 body bang을 피할 수 없다면, -1을 출력한다.
민정이가 카리나의 body bang을 피할 수 있다면, 민정이의 최소 이동거리를 출력한다.
제한
- 주어지는 모든 수는 정수이다.
- 각 사건의 는 모두 다르다.