问题 C: 做操的时候要排好队(水题)
时间限制: 3 Sec 内存限制: 128 MB
题目描述
同学们在做早操时,应该按照身高从低到高排好队。但是总是有人不好好排队,老师在审查时会对没有排好的队伍扣除一定的分数。扣的分数被定义为,找到三个人Ai,Aj,Ak,其中i<j<k,分数为max(0,(Ai-Aj))+max(0,(Aj-Ak))。找到一组i,j,k使这个分数最大即是扣除的分数。
输入
第一行是一个整数T,代表测试数据的组数。每组数据中第一行是一个整数n,代表有一共有多少个人。第二行共有n个整数,代表n个人的身高。其中T<=50,n<=1恶每个数的大小不超过1000。
输出
共T行。扣除的分数。
样例输入
2
4
150 160 170 180
4
160 150 170 180
样例输出
0
10
#include<iostream>
#include<algorithm>
using namespace std;
int a[1000];
int main()
{
int t,n;
cin>>t;
while(t--){
int maxn=0;
cin>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n-1;i++){
if(a[i+1]<a[i]){
maxn=(maxn,a[i]-a[i+1]);
}
}
cout<<maxn<<endl;
}
}