zoukankan      html  css  js  c++  java
  • 最大乘积

    输入n个元素组成的序列S,找出一个乘积最大的连续子序列,如果这个最大的乘积不是正数,输出-1

    输入样例:

    3
    2 4 -3

    输出样例:
    8

    输入样例:

    3
    2 0 1

    输出样例:

     -1

     1 #include <iostream>  
     2 using namespace std; 
     3 
     4 int main()
     5 {
     6    int count=0,n,i,j,k=0,max;
     7    cin>>n;
     8    max = n*(n-1)/2;
     9    int a[n+1];
    10    long long s[max+1];
    11 
    12    for(i = 0;i < n;i++)
    13    {
    14         cin>>a[i];
    15    }
    16    
    17    for(i = 0;i < n-1;i++)
    18    {
    19            for(j = i+1;j < n;j++)
    20            {
    21               s[count] = a[i];
    22            for(k = i+1;k < j+1;k++)
    23            {
    24                    s[count] = a[k]*s[count];
    25            }
    26            count++;
    27         }
    28    }
    29    for(i = 0;i < max-1;i++)
    30    {
    31            for(j = i+1;j < max;j++)
    32            {
    33                long long t;
    34             if(s[i] < s[j])
    35             {
    36                 t = s[j];
    37                 s[j] = s[i];
    38                 s[i] = t;
    39             }    
    40         }
    41    }
    42    
    43    if(s[0] <= 0)
    44            printf("-1");
    45    else
    46         printf("%d",s[0]);
    47    return 0;  
    48 }
  • 相关阅读:
    使用VS2015将解决方案同步更新到Github上
    SQL Server循环
    OSPF
    OPSF
    OSPF
    pandas更换index,column名称
    pandas的时间戳
    pandas选择单元格,选择行列
    BGP
    BGP
  • 原文地址:https://www.cnblogs.com/boyiliushui/p/5030833.html
Copyright © 2011-2022 走看看