CF788A機能再びDP

T1は、することができる最長のサブセグメントを求めて終了しますか?

コード: 

#include <ビット/ STDC ++ H> 
に#define N 100006 
の#defineが長い長いっ
の#define setIO(S)freopenは(S ".IN"、 "R"、STDIN)
名前空間stdを使用。
[N]、G [N] F LL [N]、[N]、B [N]、。           
INTメイン()
{ 
    LLのMX = 0。  
    int型I、J、N。
    // setIO( "入力"); 
    scanf関数( "%のD"、&N);   
    scanf関数( "%のLLD"、および[I]);(++ I; iが<= N I = 1)のために 
    用(i = 1; iがn <; ++ I)
    { 
        (I%2 == 1)A [I] = ABS([I] -a [I + 1])であれば、B [I] = - [I]。  
        他[I] = - ABS([I] -a [I + 1])、B [I] = - [I]。      
    } 
    [1] [1] = B [1] [1]、Gが= F。       
    MX = MAX(A [1]、B [1])。  
    iがn <(I = 2;
        F [I] = MAX(F [I-1]、0 * 1LL)+ [I]。   
        G [I] = MAX(G [I-1]、0 * 1LL)+ B [i]は、   
        MX = MAX(MX、F [I])。
        MX = MAX(MX、G [I])。
    } 
    のprintf( "%LLDする\ n"、MX)。
    0を返します。
}

  

おすすめ

転載: www.cnblogs.com/guangheli/p/11619127.html