E - Multiplication 4 AtCoder Beginner Contest 173
問題文
https://atcoder.jp/contests/abc173/tasks/abc173_e
解法
(editorialとは違う方法です)
まず、答えの正負で場合分けします。
負の数を偶数個選べる場合は正、選べない場合答えは負となります。(ここでAに0があれば答えを0に出来る事に注意)
この上で、オーバーフローを避けるため、積の対数を取りその大小を考えます。
後は正の数と負の数のvectorを作り、答えが正の場合は絶対値が大きい順にソート。負の場合は絶対値が小さい順にソートして。前から貪欲に取る個数を決めればいいです。
詳しくはコードを見てください
https://atcoder.jp/contests/abc173/submissions/15046707