zoukankan      html  css  js  c++  java
  • HDU 1003

    一道思维题,求和最大的子序列

    https://vjudge.net/problem/HDU-1003

    #include<iostream>
    
    using namespace std;
    
    int num[100005];
    
    int main(){
        int t,n,i;
        cin>>t;
    
        for(i = 1;i <=t;i++){
            int start = 1,end,sum = 0,ans = -INT_MAX,temp= 1;    // ans赋值一定要为负
            cin>>n;
            //输入 
            for(int j = 1;j <= n;j++)
                cin>>num[j];
                
            //核心代码 
            for(int k = 1;k <=n;k++){
                if(sum >= 0)
                    sum += num[k];
                else{
                    sum = num[k];
                    temp = k;
                }
                
                if(sum > ans){
                    ans = sum;
                    start = temp;
                    end = k;
                }
            }
            //输出 
            cout<<"Case "<<i<<":
    ";
            cout<<ans<<" "<<start<<" "<<end<<endl;
            if(i!=t)
                cout<<endl; 
            
        }
        
        return 0;
    } 
    
    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    定时器
    js中script的上下放置区别 , Dom的增删改创建
    函数声明与应用
    常规选择器
    表格的制作
    流程控制
    For循环
    洛谷P1419寻找段落
    洛谷P1021邮票面值设计
    洛谷P3119草鉴定
  • 原文地址:https://www.cnblogs.com/lightac/p/10618442.html
Copyright © 2011-2022 走看看