C - Functions again CodeForces - 789C (dp、思维)
C - Functions again
#include<iostream> #include<cstdio> #include<cmath> using namespace std; long long dp,maxx,dp2,maxx2,ans,a,b; long long masx(long long a,long long b) { if(a>=b) return a; else return b; } int main() { int n; cin>>n>>a; int h=1; for(int i=0;i<n-1;++i) { scanf("%lld",&b); int f = abs( a - b ) * h; int f2 = abs( a - b ) * -h; dp = masx( dp+f, f); dp2 = masx( dp2+f2, f2); maxx = masx( dp, maxx); maxx2 = masx( dp2, maxx2); h*=-1; a=b; } ans = masx( maxx, maxx2 ); printf( "%lld", ans ); }