#codefestival2016finalh. [codefestival_2016_final_h]Tokaido

[codefestival_2016_final_h]Tokaido

题目描述

NN个方格排成一行,从左到右编号为11NN。Snuke和Rng在这些方格上玩一个棋盘游戏,规则如下:

  1. 首先,Snuke在每个方格上写入一个整数。
  2. 两个玩家各自拥有一个棋子。Snuke将他的棋子放在方格11上,Rng将他的棋子放在方格22上。
  3. 棋子在对手的左边的玩家可以移动自己的棋子。目标方格必须是当前棋子所在方格的右边一个方格,并且不能是对手的棋子所在的方格。
  4. 重复步骤3。当无法再移动棋子时,游戏结束。
  5. 每个玩家的得分被计算为游戏结束前其棋子所在方格的整数之和。

Snuke已经在方格i(1iN1)i(1≤i≤N-1)中写入了整数AiA_i,但是尚未写入方格NN。他决定计算每个整数X1,X2,...,XMX_1,X_2,...,X_M写入方格NN并进行游戏时,表达式"(Snuke的分数)-(Rng的分数)"的值。在这里,假设每个玩家移动棋子以使得表达式"(该玩家的分数)-(对手的分数)"的值最大化。

约束条件

  • 3N200,0003≦N≦200,000
  • 0Ai1060≦A_i≦10^6
  • 所有AiA_i的和至多为10610^6
  • 1M200,0001≦M≦200,000
  • 0Xi1090≦X_i≦10^9

输入

输入以以下格式从标准输入给出:

NN A1A_1 A2A_2 ...... AN1A_{N-1} MM X1X_1 X2X_2 : X_M$

输出

对于每个整数X1,X2,...,XMX_1,X_2,...,X_M,如果将其写入方格NN,则打印表达式"(Snuke的分数)-(Rng的分数)"的值,每行一个。

示例输入 1

5
2 7 1 8
1
2

示例输出 1

0

游戏过程如下图所示,其中S表示Snuke的棋子,R表示Rng的棋子。

两位玩家的得分均为1010,因此"(Snuke的分数)-(Rng的分数)"的值为00

示例输入 2

9
2 0 1 6 1 1 2 6
5
2016
1
1
2
6

示例输出 2

2001
6
6
7
7