• HDU OJ Max sum 题目1003


    

    #include <iostream>
    #include<stdio.h>
    #include<stdlib.h>
    using namespace std;
    int main()
    {
        int t;
        scanf("%d",&t);
        for(int i=0;i<t;i++)
        {
            int n;
            scanf("%d",&n);
            int sum=0,max=-99999;
            int curhead=1,rear=1,head=1;
            for(int j=0;j<n;j++)
            {
                int temp;
                scanf("%d",&temp);
                if(sum<0)//小于零  说明開始加的是负数
                {
                    curhead=j+1;//又一次计算开头元素的位置
                    sum=temp;

                }else//假设大于等于0  就加上temp
                {
                    sum+=temp;
                }
                if(sum>max)//假设sum超过max   又一次记录max  计算结尾元素的位置
                {
                    rear=j+1;
                    head=curhead;
                    max=sum;
                }
            }
            printf("Case %d: ",i+1);
            printf("%d %d %d ",max,head,rear);
            if(i!=t-1) printf(" ");
        }
    }

  • 相关阅读:
    Windows Mobile下创建cmwap接入点
    我的云之旅hadoop单机设置(2)
    ssh登录
    我的云之旅前言(1)
    实时搜索将是下一个核心
    cassandra索引目录
    图书大甩卖(操作系统、C语言、Linux) 已成交
    ehcache实例
    google推出语音搜索
    百姓网看起来还行
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6877127.html
Copyright © 2020-2023  润新知