找不到这个问题。给定一个数组,我们必须找到连续元素的最大和,但给出了最大和限制。例如,在数组 7 3 5 6 中,最大允许和为 9,所以答案应该是给出了 8。我在互联网上找到的唯一东西是最大可能的总和,但我想找到有限的总和
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int n,m,a[100],dp[100];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int sum=0;
for(int i=0;i<n&&sum<=m;i++)
{
int j=0;
sum=sum+a[i];
if(sum>m)
{
dp[j]=sum-a[i];
}
else dp[j]=sum;
j++;
sum=0;
}
sort(dp,dp+n);
cout<<dp[n-2];
return 0;
}