XDU 1024: 最优规则式

来源:互联网 发布:sap主数据是什么意思 编辑:程序博客网 时间:2024/05/17 09:13

题目链接:http://acm.xidian.edu.cn/problem.php?id=1024

解题思路请看:http://blog.csdn.net/u014800748/article/details/45318353

代码:

#include<iostream>#include<cstdio>#include<algorithm>#define maxn 100010using namespace std;int n,A[maxn],L[maxn],R[maxn];int main(){    int T;scanf("%d",&T);    while(T--){        scanf("%d",&n);        for(int i=1;i<=n;i++) scanf("%d",A+i);        int Min=min(A[1],A[2]);        L[2]=A[2]-A[1];        for(int i=3;i<=n;i++)            L[i]=max(L[i-1],A[i]-Min),Min=min(Min,A[i]);        int Max=max(A[n],A[n-1]);        R[n-1]=A[n]-A[n-1];        for(int i=n-2;i>=1;i--)            R[i]=max(R[i+1],Max-A[i]),Max=max(A[i],Max);        int ans=0;        for(int i=2;i<n-2;i++)            ans=max(ans,L[i]+R[i+1]);        printf("%d\n",ans);    }    return 0;}


0 0