https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2000
题意:找出乘积最大的连续子序列。
思路:这道题目我挺无语的,一直超时,也不知道是哪里出了问题,反正最后试来试去终于有种办法成功了。不过好像这道题目不需要考虑输出0的情况吧。
1 #include2 using namespace std; 3 4 int main() 5 { 6 int ans[20]; 7 int n; 8 int kase = 0; 9 while (cin>>n)10 {11 kase++;12 for (int i = 0; i < n; i++)13 cin >> ans[i];14 long long max = 0;15 long long sum;16 for (int i = 0; i < n; i++)17 {18 sum = 1;19 for (int j = i; j < n; j++)20 {21 sum *= ans[j];22 if (sum>max) max = sum;23 }24 }25 cout << "Case #" << kase << ": The maximum product is " << max << ".\n\n";26 }27 return 0;28 }