题目链接:uva 11078 - Open Credit System
题目大意:给出n个数,找出两个数之间差的最大值,要求num[i] - num[j](i < j)
解题思路:维护最大值Max,每次读取一个数时用Max - c,维护ans。
#include <stdio.h> #include <algorithm> using namespace std; const int INF = 0x3f3f3f3f; int main() { int cas, n; scanf("%d", &cas); while (cas--) { scanf("%d", &n); int ans = -INF, Max = -INF, c; for (int i = 0; i < n; i++) { scanf("%d", &c); ans = max(ans, Max - c); Max = max(Max, c); } printf("%d\n", ans); } return 0; }