40分代码,不知道哪错了,求dalao帮改
查看原帖
40分代码,不知道哪错了,求dalao帮改
409686
王晨鑫楼主2024/4/21 21:17

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

int h,w,a[10000100];int ans;
int l,r;
int n;

bool ch(int k){
	long long cnt = 0;long long sum;
	for(int i = 0;i < n;i++){
		if(sum >= k){
			sum = a[i];cnt++;
		} else {
			sum+=a[i];
		}
	}
	return cnt >= w;
}

int main(){
	cin >> n >> w;
	for(int i = 0;i < n;i++){
		cin >> a[i];
		l = max(l,a[i]);
		r += a[i];
	}
	while(l <= r){
		int mid = l + (r - l) / 2;
		if(ch(mid)){
			ans = mid;
			l = mid + 1;
		} else {
			r = mid - 1;
		}
	}
	cout << ans + 1;
} 

2024/4/21 21:17
加载中...