zoukankan      html  css  js  c++  java
  • UVA

    Problem D - Maximum Product

    Time Limit: 1 second

    Given a sequence of integers S = {S1, S2, ..., Sn}, you should determine what is the value of the maximum positive product involving consecutive terms of S. If you cannot find a positive sequence, you should consider 0 as the value of the maximum product.

    Input

    Each test case starts with 1 ≤ N ≤ 18, the number of elements in a sequence. Each element Si is an integer such that -10 ≤ Si ≤ 10. Next line will have N integers, representing the value of each element in the sequence. There is a blank line after each test case. The input is terminated by end of file (EOF).

    Output

    For each test case you must print the message: Case #M: The maximum product is P., where M is the number of the test case, starting from 1, and P is the value of the maximum product. After each test case you must print a blank line.

    Sample Input

    3
    2 4 -3
    
    5
    2 5 -1 2 -1
    
    

    Sample Output

    Case #1: The maximum product is 8.
    
    Case #2: The maximum product is 20.
    
    
    
    
    
    
    #include <bits/stdc++.h>
    using namespace std;
    
    int num[20];
    
    long long int get_multi(int l, int r)
    {
        long long int res = 1;
        for(int i = l; i <= r; i++)
            res *= num[i];
        return res;
    }
    
    int main()
    {
    #ifndef ONLINE_JUDGE
        freopen("in.txt","r",stdin);
        freopen("out.txt","w",stdout);
    #endif
    
        int n, kase = 0;
        while(memset(num, 0, sizeof(num)), scanf("%d", &n)!=EOF)
        {
            long long int maxnum = INT_MIN;
            for(int i = 1; i <= n; i++)
                scanf("%d", &num[i]);
            for(int i = 1; i <= n; i++)
                for(int j = i; j <= n; j++){
                    maxnum = max(maxnum, get_multi(i, j));
                }
            printf("Case #%d: The maximum product is %lld.
    
    ", ++kase, maxnum <= 0 ? 0 : maxnum);
        }
        return 0;
    }


  • 相关阅读:
    【JAVA】集合的使用:约瑟夫问题
    【JAVA】第八章:集合
    【数据结构】二叉树
    【数据结构】串
    【数据结构】KMP算法
    【java】快速入门:前八章内容总结
    【数据结构】停车场问题
    【实验向】问题:假设计算机A和计算机B通信,计算机A给计算机B发送一串16个字节的二进制字节串,以数组形式表示:
    【数据结构】括号的匹配问题
    CSS
  • 原文地址:https://www.cnblogs.com/kunsoft/p/5312773.html
Copyright © 2011-2022 走看看