题意
让求出一列数中相邻两个数和的最大值,并拥有一次反转机会
题解
既然拥有反转机会,那么就一定可以把最大值和第二大值相邻
那么就是求出最大值和第二大值的和
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int x,int y){
return x>y;
}
int main(){
int t;
cin>>t;
int n;
while(cin>>n){
int a[1001]={0};//每次都要初始化数组
for(int i=0;i<n;i++)
cin>>a[i];
sort(a,a+n,cmp);//利用sort排序,利用cmp进行特殊排序
cout<<a[0]+a[1]<<endl;//输出前2大和的值
}
return 0;
}