zoukankan      html  css  js  c++  java
  • 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+--------------------------------------------------------------------------------------------------+

  • 相关阅读:
    将博客搬至CSDN
    模板:abs用法
    《CLR via C#》读书笔记--基元类型、引用类型和值类型
    入门鼠标右键事件(快捷菜单)
    C#委托学习
    广播最佳实践---实现强制下线
    android动态注册监听网络变化异常
    码流识别与传输
    对最近的RTP和H264学习进行总结整理-04.20
    H264解码学习-2015.04.16
  • 原文地址:https://www.cnblogs.com/Open_Source/p/1904943.html
Copyright © 2011-2022 走看看