• poj2479


    Maximum sum

    |code--------------------------------------------------------------------------------------------------+
    |001| /***************************************************************\                               
    |002|  *Author: 小呼                                                                                
    |003|  *Created Time: Tue 06 Jul 2010 02:49:20 PM CST                                                 
    |004|  *File Name: a.cpp                                                                              
    |005|  *Description:动态规划。Max_L[i]表示A[1...i]中最大的连续和,同理               
    |006|  *Max_R[i]是指A[i...n]中最大的连续和                                                   
    |007| \***************************************************************/                               
    |008| //*====================*Head File*====================*\\                                   
    |009|                                                                                                 
    |010| #include<iostream>                                                                              
    |011| #include<stdio.h>                                                                               
    |012| #include<stdlib.h>                                                                              
    |013| #include<string.h>                                                                              
    |014| /*----------------------*Global Variable*----------------------*/                               
    |015|                                                                                                 
    |016| //*===================*Main Program*===================*//                                  
    |017| using namespace std;                                                                            
    |018| int A[50001],n,Max_L[50001],Max_R[50001];                                                       
    |019| int main(){                                                                                     
    |020| .       int T;                                                                                  
    |021| .       scanf("%d",&T);                                                                         
    |022| .       while(T--){                                                                             
    |023| .       .       scanf("%d",&n);                                                                 
    |024| .       .       for(int i=1;i<=n;++i)                                                           
    |025| .       .         scanf("%d",A+i);                                                              
    |026| .       .       int _max=-9999999,temp=-9999999;                                                
    |027| .       .       for(int i=1;i<n;++i){                                                           
    |028| .       .       .       if(temp>=0)                                                             
    |029| .       .       .         temp+=A[i];                                                           
    |030| .       .       .       else                                                                    
    |031| .       .       .       .       temp=A[i];                                                      
    |032| .       .       .       _max=_max>temp?_max:temp;                                               
    |033| .       .       .       Max_L[i]=_max;                                                          
    |034| .       .       }                                                                               
    |035| .       .       _max=temp=-999999;                                                              
    |036| .       .       for(int i=n;i>1;--i){                                                           
    |037| .       .       .       if(temp>0)                                                              
    |038| .       .       .         temp+=A[i];                                                           
    |039| .       .       .       else                                                                    
    |040| .       .       .         temp=A[i];                                                            
    |041| .       .       .       _max=_max>temp?_max:temp;                                               
    |042| .       .       .       Max_R[i]=_max;                                                          
    |043| .       .       }                                                                               
    |044| .       .       int res=-999999;                                                                
    |045| .       .       for(int i=1;i<n;++i){                                                           
    |046| .       .       .       res=(res>Max_L[i]+Max_R[i+1]?res:Max_L[i]+Max_R[i+1]);                  
    |047| .       .       }                                                                               
    |048| .       .       printf("%d\n",res);                                                             
    |049| .       }                                                                                       
    |050| .       return 0;                                                                               
    |051| }                                                                                               
    end+--------------------------------------------------------------------------------------------------+

  • 相关阅读:
    二测试组织
    如何编写测试计划
    C#三种字符串拼接方法的效率对比
    CSS内容溢出时,显示省略号
    JQuery文件上传控件Uploadify文档
    LINQ to Entities 不识别方法“Boolean Like(System.String, System.String)”,因此该方法无法转换为存储表达式。
    Linux 各目录的作用
    服务器注释事项
    资料:mnist.pkl.gz数据包的下载以及数据内容解释
    RockPaperScissorsLizardSpock Python实现
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904943.html
Copyright © 2020-2023  润新知