UVA 11078
2014-06-10 17:02
344 查看
由于题目中规定了i<j, 所以Ai-Aj要渠道最大值,那么Ai只有可能取A1~A(j-1)中最大的那个,从左到右遍历整个数组,维护这个最大值,计算的时间复杂度就可以降低到线性复杂度,否则用两重循环是n*n的复杂度,肯定会超时的。
#include <stdio.h>
int arr[100001];
int main(void){
int t, n, i;
int max, ans;
//freopen("input.dat", "r", stdin);
scanf("%d", &t);
while(t--){
scanf("%d", &n);
for(i=1; i<=n; i++){
scanf("%d", arr+i);
}
ans = arr[1] - arr[2];
max = arr[1];
for(i=2; i<=n-1; i++){
max = max > arr[i] ? max : arr[i];
ans = max-arr[i+1] > ans ? max-arr[i+1] : ans;
}
printf("%d\n", ans);
}
}
#include <stdio.h>
int arr[100001];
int main(void){
int t, n, i;
int max, ans;
//freopen("input.dat", "r", stdin);
scanf("%d", &t);
while(t--){
scanf("%d", &n);
for(i=1; i<=n; i++){
scanf("%d", arr+i);
}
ans = arr[1] - arr[2];
max = arr[1];
for(i=2; i<=n-1; i++){
max = max > arr[i] ? max : arr[i];
ans = max-arr[i+1] > ans ? max-arr[i+1] : ans;
}
printf("%d\n", ans);
}
}
相关文章推荐
- UVA-11078 Open Credit System
- UVa 11078 - Open Credit System(维护最大值)
- uva11078
- UVA 11078 - Open Credit System
- UVA-11078(水题)
- uva 11078 Open Credit System
- UVA11078 BNU19496 Open Credit System
- UVA 11078 Open Credit System
- 水题,高效,优化(开放式学分制,uva 11078)
- Uva 11078 Open Credit System
- 第一章例题18开放式学分制UVa11078
- uva 11078 Open Credit System
- uva11078 Open Credit System
- uva 11078 开放至系统
- UVA 11078 Open Credit System (水题)
- UVA 11078 - Open Credit System(单调队列)
- UVA 11078 Open Credit System
- UVa 11078 - Open Credit System
- UVA 11078 Open Credit System
- UVA 11078(p41)----Open Credit System