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を返します。 }