加入万能块后与原数组形成环状,此时在原数组前后两端都加上万能块并逐个相加模拟环状循环一遍的过程
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll t;
cin>>t;
while(t--){
ll n,k;
cin>>n>>k;
vector<ll>a(n+2);
for(ll i=1;i<=n;i++){
cin>>a[i];
}
a[n+1]=k;
a[0]=k;
ll max=-1e8,f;
for(ll i=0;i<=n;i++){
f=a[i]+a[i+1];
if(f>max){
max=f;
}
}
cout<<max<<endl;
}
}
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
ll t;
cin>>t;
while(t--){
ll n,k;
cin>>n>>k;
vector<ll>a(n+2);
for(ll i=1;i<=n;i++){
cin>>a[i];
}
a[n+1]=k;
a[0]=k;
ll max=-1e8,f;
for(ll i=0;i<=n;i++){
f=a[i]+a[i+1];
if(f>max){
max=f;
}
}
cout<<max<<endl;
}
}

京公网安备 11010502036488号