计算思维<连乘>

#include <iostream>
#include <math.h>
#include<algorithm>
using namespace std;

typedef struct Node
{
    int data;
    int pos;
}Node;


int main()
{
    Node D[11000];
    int count = 1;
    char ch;
    int in;
    int n = 1;
    int first, last;
    long long res = -999999999;
    while (scanf("%d%c", &in, &ch) != EOF)
    {
        D[n].pos = n;
        D[n++].data = in;//D[1] --- D[n-1]有数据。。 
        if (ch == '\n')
        {
            int bit_in_latex = 1;
            while(bit_in_latex <= n-1)
            {
                for (int pos_start = 1; pos_start <= n - bit_in_latex; pos_start++)
                {
                    long long tem_res = 1;
                    for (int i = pos_start; i <= pos_start + bit_in_latex - 1; i++)
                    {
                        tem_res *= D[i].data;
                    }
                    if (res < tem_res)
                    {
                        res = tem_res;
                        first = pos_start;
                        last = pos_start + bit_in_latex - 1;
                    }

                }
                bit_in_latex++;
            }

            //一行结束,处理一行数据。。。
            cout << "Case " << count++ << ": " << res << " " << D[first].pos - 1 << "-" << D[last].pos - 1 << endl;

            n = 1;//恢复n,重新处理新一行。。。
            res = -999999999;

        }

    }

    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值