Least Product
先祝各位,新年快乐
这是跨年前,来写一些简单一点的
题目连结
DC群组
解题
因为是乘法,有两个性质
任何数字乘0
答案都是 0乘以基数的负数
答案是负数又因为只能在 ~ 0 之间
几种情况
如果乘积大于零 ==> 乘出来的值大于零,最小值只能为0==>乘0如果乘积小于零 ==> 乘出来的值小于零,即为最小值如果只有一个值 ==> 答案为 1 或 0,在依照正负去判断如果是零 ==> 答案只能是 1 ,因为怎么乘答案都是 0code
#include <iostream>#include <vector>using namespace std;int main(int argc, char const *argv[]){ int t; cin >> t; while (t--) { int n; cin >> n; bool flag = false; vector<int> v(n); vector<int> check; for (int i = 0; i < n; i++) { cin >> v[i]; if (v[i] < 0) { check.push_back(i); } else if (v[i] == 0) flag = true; } if (flag == true) cout << 0 << endl; else if (check.size() % 2 == 1 && check.size() != 0) { cout << 0 << endl; } else { cout << 1 << endl << "1 " << 0 << endl; } } return 0;}