uva 11078 - Open Credit System

把每个位置可能出现的最大值存一下就行;

代码:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #define maxn 100005
 5 using namespace std;
 6 
 7 int a[maxn],b[maxn];
 8 int main()
 9 {
10     int n,t;
11     scanf("%d",&t);
12     while(t--)
13     {
14         scanf("%d",&n);
15         memset(b,0,sizeof b);
16         for(int i=0; i<n; i++)scanf("%d",&a[i]);
17         int ans=-999999,ma=-9999999;
18         for(int i=0; i<n; i++)
19         {
20             ma=max(a[i],ma);
21             b[i]=ma;
22         }
23         for(int i=1; i<n; i++)
24             ans=max(ans,b[i-1]-a[i]);
25         printf("%d\n",ans);
26     }
27     return 0;
28 }
View Code

 

posted @ 2013-10-29 21:02  Yours1103  阅读(110)  评论(0编辑  收藏  举报