http://codeforces.com/contest/1042/problem/C 给你一个有n个元素序列,有两个操作:1,选取a[i]和a[j],删除a[i],将$a[i]*a[j]$赋值给a[j]2,任意选定一个数删除(只能做一次).打印操作,让最后剩下的数最大. 题意还是比较好理解的. 我们可以想到我们需要先把所有的0,合为一个,然后判断负数两两配对是否多出一个(!%2),两两配对后,两个负数相乘变为正数,正数当然越乘越大. 如果多出一个来,因为要让乘积最大,那么对于负数而言,我们需…