重りを分ける

与えられた n 個の重り を、2つのグループに分割して、それぞれの合計の差が最小になるようにしてください。

入力

入力の最初の行には、1 つの整数 n (1 ≤ n ≤ 20) が与えられます。
次の行には、n 個の整数 (1 ≤ ) が空白区切りで与えられます。

出力

2つのグループの差のうち、可能な限り小さい値を出力してください。

入力
出力
3 3 2 1
0
5 1 2 3 4 7
1

解説

  1. 最初のグループ → 3、もう一方のグループ → 1 + 2 = 3
  1. 最初のグループ → 1 + 7 = 8、もう一方のグループ → 2 + 3 + 4 = 9
 
ヒント
すべての 通りの分け方を試して、それぞれのグループ差を求めれば、最小となる差を見つけることができます。

Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue