누적 거리
시간 제한3초메모리 제한1024 MB
서로 다른 위치에 있는 마을들과 각 마을의 주민 수가 주어질 때, Q개의 후보 위치 각각에서 모든 마을까지의 가중 절댓값 거리 합을 구한다.
문제
KOI 나라는 수직선 위에 놓인 개의 마을로 구성되어 있다. 이 중 ()번째 마을은 위치에 놓여 있으며 명이 거주 중이다. 또한 서로 다른 두 마을이 같은 위치에 놓인 경우는 없다.
KOI 나라는 모든 국민이 참여하는 모임을 개최하려고 한다. 모든 사람들이 모임 장소에 도착하기 위해 이동해야 하는 거리의 합을 누적 거리라고 부르고, 모임 장소가 일 때의 누적 거리를 로 나타내자.
번째 마을에 사는 사람이 위치에서 열리는 모임에 참가하기 위해서 이동해야 하는 거리는 이다. 번째 마을에는 명이 거주 중이므로 번째 마을에 사는 사람들의 이동 거리의 합은 가 된다. 이 값을 모든 마을에 대해 합한 값이 모임 장소가 일 때의 누적 거리가 될 것이다. 즉, 이다.
예를 들어 마을의 위치가 , , 이고, 각 마을에 거주하는 사람들의 수가 , , 이라고 하면, 모임 장소가 일 때의 누적 거리는 이다.
KOI 나라는 모임이 개최될 장소의 후보를 개 준비해 두었다. 이 때 ()번째 후보 장소의 위치는 이다. 이 때 서로 다른 두 후보 장소의 위치가 같은 경우는 없으나 마을의 위치와 후보 장소의 위치가 같을 수 있다. 각각의 후보 장소에 대해 누적 거리를 계산하는 프로그램을 작성하라.
입력
첫 번째 줄에 과 가 공백을 사이에 두고 차례로 주어진다.
다음 개의 줄에는 마을에 대한 정보가 주어진다. 이 중 ()번째 줄에는 와 가 공백을 사이에 두고 차례로 주어진다.
다음 개의 줄에는 모임 장소 후보에 대한 정보가 주어진다. 이 중 ()번째 줄에는 가 주어진다.
출력
()번째 줄에 모임 장소가 번째 후보 모임 장소인 일 때의 누적 거리, 즉 의 값을 출력한다.
제한
- 모든 ()에 대해,
- 모든 ()에 대해,
- 모든 ()에 대해,
- 에 대해 . 즉, 모든 마을의 위치는 서로 다르다.
- 에 대해 . 즉, 모든 후보 장소의 위치는 서로 다르다.
- 주어지는 모든 수는 정수이다.
힌트
는 이면 , 이면 인 절댓값 기호이다.