X個の赤色のリンゴと、Y個の緑色のリンゴを食べたいときに
- 美味しさが「p1,p2,…,pA」の赤色リンゴA個
- 美味しさが「q1,q2,…,qB」の緑色リンゴB個
- 美味しさが「r1,r2,…,rC」の無色リンゴC個
があり、このとき、美味しさの総和が最大でいくつになるのかを求める問題です。
無色リンゴは着色することで、赤色リンゴもしくは緑色リンゴと見なすことができます。
提出
x, y, a, b, c = map(int, input().split())
p = list(map(int, input().split()))
q = list(map(int, input().split()))
r = list(map(int, input().split()))
p = sorted(p, reverse=True)[:x]
q = sorted(q, reverse=True)[:y]
total = sorted(p + q + r, reverse=True)[:x + y]
print(sum(total))
2行目以降のリンゴの美味しさをリストで受け取り、pとqは降順ソートして、それぞれxとyまでのリストにします。
この2つのリストの要素より大きい美味しさを持つ「無色リンゴ」を食べたいため、「p+q+r」を降順ソートし、大きい方から「x+y」を取得します。
こうすることで、無色リンゴより美味しくないものは除外されます。
最後に合計したものが答えです。