Haybale Distribution


답안 제출

Points: 16
시간 제한: 2.0s
메모리 제한: 1G

문제 유형

Farmer John은 농장 곳곳에 건초 더미를 나누어 주려고 한다.

Farmer John의 농장에는 \(N\)개의 외양간이 있으며 \((1 \le N \le 200,000)\), 각 외양간은 수직선 위의 정수 좌표 \(x_1,x_2,\dots,x_N\)에 있다. \((0 \le x_i \le 1,000,000)\)

Farmer John은 먼저 \(N\)개의 건초 배송분을 수직선 위의 어떤 정수 좌표 \(y\)에 배달받은 뒤 \((0 \le y \le 1,000,000)\), 각 외양간에 배송분을 하나씩 운반하려고 한다.

하지만 Farmer John이 이용하는 운송 서비스는 건초를 매우 많이 낭비한다. 어떤 \(a_i\), \(b_i\)에 대하여 \((1 \le a_i,b_i \le 1,000,000)\), 배송분 하나를 왼쪽으로 한 칸 운반할 때마다 건초 \(a_i\)개가 낭비되고, 오른쪽으로 한 칸 운반할 때마다 건초 \(b_i\)개가 낭비된다.

좌표 \(y\)에서 좌표 \(x\)에 있는 외양간으로 배송분 하나를 운반할 때 낭비되는 건초의 수는 다음과 같다.

\(\begin{cases} a_i(y-x) & \text{if } y \ge x \\ b_i(x-y) & \text{if } x>y \end{cases}\)

가능한 \((a_i,b_i)\)의 값을 나타내는 서로 독립적인 \(Q\)개의 쿼리가 주어진다. \((1 \le Q \le 200,000)\) 각 쿼리마다 \(y\)를 최적으로 선택했을 때 낭비되는 건초의 수의 최솟값을 구하여라.

입력

첫째 줄에 외양간의 수 \(N\)이 주어진다.

둘째 줄에 외양간의 좌표 \(x_1,x_2,\dots,x_N\)이 공백으로 구분되어 주어진다.

셋째 줄에 쿼리의 수 \(Q\)가 주어진다.

다음 \(Q\)개의 줄에 두 정수 \(a_i\)와 \(b_i\)가 공백으로 구분되어 주어진다.

출력

\(Q\)개의 줄을 출력한다. \(i\)번째 줄에는 \(i\)번째 쿼리의 답을 출력한다.

예제 입력 1

5
1 4 2 3 10
4
1 1
2 1
1 2
1 4

예제 출력 1

11
13
18
30

예제 설명 1

두 번째 쿼리에서는 \(y=2\)를 선택하는 것이 최적이다. 이때 낭비되는 건초의 수는 다음과 같이 \(13\)이다.

\(2(2-1)+2(2-2)+1(3-2)+1(4-2)+1(10-2)=2+0+1+2+8=13\)

출처

USACO 2023 December Contest, Gold, Problem 3. Haybale Distribution


코멘트

현재 작성된 코멘트가 없습니다.