Python の input 関数の返り値は str 型であることに注意してください。

  • 一行目の入力を整数として受け取るには int(input())
  • 二行目の入力を整数型の要素を持つリストとして受け取るには list(map(int,input().split()))

を使用することができます。

AA' の要素の総和の最大値を求める処理は、AA の最大値が負の場合とそれ以外で場合分けを行う必要があります。

  • AA の最大値が負の場合
    一つ以上選ぶ必要があるため、max(A)\max(A) が答えになります。
  • それ以外の場合
    AA の値のうち、正の値の要素の総和が答えになります。

それぞれにおいて、計算量は O(N)O(N) で十分高速です。

そのような場合分けを行わない場合、「bit 全探索」を用いて、要素数が 11 以上の AA の要素の部分集合を全探索する解法 O(2NN)O(2^NN) でも、正解することができます。

以下は Python の実装例です。