@JRzzx 用dp过了,请求加强数据!!!!!!!!
查看原帖
@JRzzx 用dp过了,请求加强数据!!!!!!!!
750841
jorrunur_jorisuesk楼主2024/4/8 16:51
#include<bits/stdc++.h>
using namespace std;
int n,l,r;int ans=-2147483647;
int a[400005];
bool book[400005];
int dp[400005];
//priority_queue <int,vector<int>,greater<int> > q;
int main(){
	cin>>n>>l>>r;
	for(int i=0;i<=n;i++){
		cin>>a[i];
		dp[i]=ans;
	}
	book[0]=1;
	dp[0]=a[0];
	for(int i=0;i<n;i++){
		if(book[i]==1){
			for(int j=i+l;j<=i+r;j++){
				dp[j]=max(dp[j],dp[i]+a[j]);
				book[j]=1;
			}
		}
	}
	for(int i=n;i<=2*n;i++){
		if(book[i]){
			ans=max(ans,dp[i]);
		}
	}
	cout<<ans;
	return 0;
} 
2024/4/8 16:51
加载中...