atcoder#ARC144B. [ARC144B] Gift Tax

[ARC144B] Gift Tax

题目描述

a b a\leq\ b を満たす正整数 a, b a,\ b および,正整数列 A = (A1, A2, , AN) A\ =\ (A_1,\ A_2,\ \ldots,\ A_N) が与えられます.

あなたはこの数列に対して,以下の操作を何度でも行うことができます(0 0 回でもよいです):

  • 相異なる添字 i, j i,\ j (1 i, j  N 1\leq\ i,\ j\ \leq\ N ) を選ぶ.Ai A_i a a を加え,Aj A_j から b b を引く.

操作後の min(A1, A2, , AN) \min(A_1,\ A_2,\ \ldots,\ A_N) としてありうる最大値を求めてください.

输入格式

入力は以下の形式で標準入力から与えられます.

N N a a b b A1 A_1 A2 A_2 \ldots AN A_N

输出格式

操作後の min(A1, A2, , AN) \min(A_1,\ A_2,\ \ldots,\ A_N) としてありうる最大値を出力してください.

题目大意

给定 aabbaba\le b)。每次操作选定 iijjAiAi+aA_i\gets A_i+aAjAjbA_j\gets A_j-b

AA 数列的最小值的最大可能值?

3 2 2
1 5 9
5
3 2 3
11 1 2
3
3 1 100
8 5 6
5
6 123 321
10 100 1000 10000 100000 1000000
90688

提示

制約

  • 2 N 3× 105 2\leq\ N\leq\ 3\times\ 10^5
  • 1 a b 109 1\leq\ a\leq\ b\leq\ 10^9
  • 1 Ai 109 1\leq\ A_i\leq\ 10^{9}

Sample Explanation 1

例えば次のように操作を行うことで, min(A1, A2, A3) = 5 \min(A_1,\ A_2,\ A_3)\ =\ 5 を達成できます. - i = 1, j = 3 i\ =\ 1,\ j\ =\ 3 として操作を行う.A A (3, 5, 7) (3,\ 5,\ 7) に変化する. - i = 1, j = 3 i\ =\ 1,\ j\ =\ 3 として操作を行う.A A (5, 5, 5) (5,\ 5,\ 5) に変化する.

Sample Explanation 2

例えば次のように操作を行うことで, min(A1, A2, A3) = 3 \min(A_1,\ A_2,\ A_3)\ =\ 3 を達成できます. - i = 1, j = 3 i\ =\ 1,\ j\ =\ 3 として操作を行う.A A (13, 1, 1) (13,\ 1,\ -1) に変化する. - i = 2, j = 1 i\ =\ 2,\ j\ =\ 1 として操作を行う.A A (10, 3, 1) (10,\ 3,\ -1) に変化する. - i = 3, j = 1 i\ =\ 3,\ j\ =\ 1 として操作を行う.A A (7, 3, 1) (7,\ 3,\ 1) に変化する. - i = 3, j = 1 i\ =\ 3,\ j\ =\ 1 として操作を行う.A A (4, 3, 3) (4,\ 3,\ 3) に変化する.

Sample Explanation 3

一度も操作を行わないことにより, min(A1, A2, A3) = 5 \min(A_1,\ A_2,\ A_3)\ =\ 5 を達成できます.