Time Limit: 10 sec / Memory Limit: 1024 MB
配点: 点
問題
盗賊の Anna と Bruno は大富豪の邸宅に忍び込み,財宝 から財宝 までの 個の財宝を見つけた.これらの財宝を Anna と Bruno で分配することになった.財宝のうちのいくつかを Anna が取り,残りの財宝のうちのいくつかを Bruno が取る.同じ財宝を 人が取ることはできない.Anna や Bruno は財宝を 個も取らなくてもよい.また,残った財宝は邸宅に残しておくので, 人とも取らない財宝があってもよい.
それぞれの財宝には「市場価値」と「貴重度」という つの値が定まっている.Anna が取った財宝の市場価値の合計と Bruno が取った財宝の市場価値の合計の差の絶対値が 以下なら,Anna は公平だと思って満足する.一方,Bruno は,Anna より貴重度の大きい財宝が欲しいと思っている.
Anna が満足するように財宝を分配したときの,Bruno が取った財宝の貴重度の合計から Anna が取った財宝の貴重度の合計を引いた値の最大値を求めよ.
入力
入力は 行からなる.
行目には, つの整数 (,) が空白を区切りとして書かれている.これは,財宝の個数が 個であり,Anna が取った財宝の市場価値の合計と Bruno が取った財宝の市場価値の合計の差の絶対値が 以下なら Anna が満足することを表す.
続く 行のうちの 行目 () には, つの整数 (,) が空白を区切りとして書かれている.これは,財宝 の市場価値が であり,貴重度が であることを表す.
与えられる つの入力データのうち,入力 では を満たす.また,入力 では を満たす.
出力
Anna が満足するように財宝を分配したときの,Bruno が取った財宝の貴重度の合計から Anna が取った財宝の貴重度の合計を引いた値の最大値を 行で出力せよ.
入力例 1Copy
6 15 50 900 30 200 40 100 80 600 60 100 70 700
出力例 1Copy
1200
入出力例 においては,Anna が財宝 と財宝 と財宝 を取り,Bruno が財宝 と財宝 を取ると,取った財宝の市場価値の合計は Anna が ,Bruno が となり,差の絶対値 が 以下なので Anna は満足する.このとき,取った財宝の貴重度の合計は Anna が ,Bruno が となり,Bruno が取った財宝の貴重度の合計から Anna が取った財宝の貴重度の合計を引いた値は となる.これが最大である.
入力例 2Copy
5 0 0 1000000000000000 0 1000000000000000 1 1 1000000000000000 0 1000000000000000 0
出力例 2Copy
2000000000000000