社区讨论

求助,第4和第5个测试点WA了

P1182数列分段 Section II参与者 3已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@m20gusqh
此快照首次捕获于
2024/10/08 21:18
去年
此快照最后确认于
2025/11/04 17:37
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
const int N=1e5;
typedef long long ll;
int n,m;
int a[N];
bool check(ll x){
	int cnt=0,tot=0;
	for(int i=1;i<=n;i++){
		if(tot+a[i]<=x) tot+=a[i];
		else tot=a[i],cnt++;
	}
	return cnt<m; 
}
int main(){
	cin>>n>>m;
	int l,r;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		l=max(a[i],l);
	}
	r=1e9+1;
	while(l<r){
		int mid=(l+r)/2;
		
		if(check(mid)) r=mid;
		else l=mid+1;
	}
	cout<<l<<endl;
	return 0;
} 

回复

2 条回复,欢迎继续交流。

正在加载回复...