파일 업로드

짐 운반

profile
실행 시간 제한메모리 제한
2 초512 MB
📃 해결할 문제

서희가 가장 힘들어하는 일 중 하나는 짐을 많이 운반하는 것입니다. 이 과정을 간소화하기 위해, 그녀는 농장의 두 지점 사이에서 짐을 운반하는 대신, 한 지점에서 다른 지점으로 즉시 짐을 운송할 수 있는 '순간 이동기'라는 훌륭한 발명품을 생각해냈습니다.

서희의 농장은 긴 직선 도로를 따라 지어졌으므로 농장의 어떤 위치든 이 도로를 따라 어느 위치에 위치해있는지 간단히 설명할 수 있습니다(실질적으로 숫자 선상의 한 점). 순간 이동기는 두 개의 숫자 xxyy로 설명됩니다. 이 중 xx 위치로 가져온 짐은 즉시 yy 위치로 이동시킬 수 있습니다.

서희는 첫 번째 끝 지점을 x=0x=0에 위치시키는 순간 이동기를 만들기로 결정했습니다. 당신의 업무는 다른 끝 지점 yy의 최상의 선택지를 결정해주는 것입니다. 

서희의 농장에는 NN개의 짐 더미가 있습니다 (1N100,0001 \leq N \leq 100,000). ii번째 더미는 위치 aia_i에서 bib_i로 옮겨져야 합니다. 그리고 서희는 각 짐 더미를 다른 짐 더미로부터 분리하여 운반합니다. 만약 did_i가 서희가 ii번째 짐 더미를 순간 이동기에 실어 운반한 거리라고 하면, di=aibid_i = |a_i-b_i|는 서희가 순간 이동기를 직접 사용해 ii번째 더미를 운반했다는 것을 의미합니다. 또는 did_i는 순간 이동기를 사용하면 더 작아질 수도 있습니다 (예: aia_i에서 xx로 순간이동기를 사용해 운반하고, yy에서 bib_i까지 운반).

순간 이동기의 다른 끝 지점 yy를 최적 위치에 설치함으로써 얻을 수 있는 did_i의 최소합을 서희가 알 수 있도록 도와주세요. 모든 더미의 운송에는 동일한 위치 yy를 사용합니다.

💻 입력

첫 번째 입력 줄에는 NN이 포함됩니다. 그 다음으로 이어지는 NN의 줄에는 ii번째 줄에 aia_ibib_i가 포함되어 있으며, 이 숫자들은 각각 108108-10^8 \ldots 10^8 범위의 정수입니다. 이 값들은 반드시 모두 다를 필요는 없습니다.

🖨️ 출력

서희가 얻을 수 있는 did_i의 최소 합을 나타내는 하나의 숫자를 출력하세요. 이 숫자는 일반적인 32비트 정수에 들어갈 수 없을 정도로 크기 때문에 'long long'과 같은 큰 정수 데이터 타입을 사용해야 할 수도 있습니다. 또한 답이 반드시 정수인지 여부를 고려해 보세요...


💻 예제 입력 1
3
-5 -7
-3 10
-2 7
🖨️ 예제 출력 1
10

💡 힌트

이 예제에서, y=8y= 8로 설정하면, 서희는 d1=2d_1=2, d2=5d_2=5, 그리고 d3=3d_3=3을 달성할 수 있습니다. [7,10][7,10] 범위 내의 yy 값은 모두 최적의 해답이 될 수 있음을 참고하세요.


출처: USACO 2018 February Contest, Silver Problem 3. Teleportation