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 }