这是我的代码
它通过的情况很少,但并非全部通过, 例如。
元素数n = 6
元素a [n] = {5,5,10,100,10,5}
总和= 25
输出为15,但输出应为25(5 + 10 + 10)
单击here以查看其在IDE中的工作
#include<bits/stdc++.h>
#define ll long long int
using namespace std;
int main(){
int n;
ll sum;
vector<ll> v;
cin>>n;
ll a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
cin>>sum;
ll ans = 0;
ll inc = a[0];
ll exc = 0;
ll prev = 0;
for(int i=1;i<n;i++){
prev = inc;
inc = max(exc+a[i],a[i]);
exc = max(prev,exc);
// cout<<inc<<" "<<exc<<endl;
ll ans1 = max(inc,exc);
if(ans1<=sum){
ans = max(ans1,ans);
}
}
cout<<ans<<endl;
return 0;
}