#3#4#5tle , 求助
查看原帖
#3#4#5tle , 求助
1080835
SparkleBear楼主2024/7/24 19:36

代码如下,求调

#include<bits/stdc++.h>
using namespace std;


const int N = 6e5+9;
int n , m;
int a[N] , ans[N] , f[N] , d[N];
deque<int>maxq;
int fans;
int main(){

	cin>>n>>m;
	for(int i = 1 ; i <= n ; i++){
		cin>>a[i];
	}
	
	for(int i = 1 ; i<=n;i++){
		f[i] = f[i-1]  + a[i];
	}
	
//	for(int i = 1 ; i<=n;i++){
//		cout<<f[i]<<" ";
//	}
//	
//	puts(" ");
	int tmp  = 0 ; 
	for(int i = 1 ; i <= m;i++ ){
		for(int j = i ; j <= n ; j++){
			if(j == i) tmp = f[i];
			else{
				tmp-=a[j-i];
				tmp+=a[j];
			}
			
			while(!maxq.empty()&&maxq.back()<tmp) maxq.pop_back();
			maxq.push_back(tmp);
			
			 
		}
	}
	
	cout<<maxq.front(); 
	return 0;
}
2024/7/24 19:36
加载中...