第四个样例过不了啊,求助,help一下!!!!
查看原帖
第四个样例过不了啊,求助,help一下!!!!
819682
Exile_Code楼主2023/7/15 21:59
#define  _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
#include <vector>
#include <set>
#include <map>
#include <unordered_map>
#include <cstdio>
#include <cstring>
#include <queue>
#include <cstdlib>
#include <algorithm>
#include <list>
#include <string>
#include <cmath>
#include <bitset>
int n, mm;
long long nums[100005];
bool check(int x) {
	int ret = 0;
	long long sum = 0;
	for (int i = 0; i < n; i++) {
	    if((sum+=nums[i])>x)
            sum=nums[i],ret++;
	}
	return ret >= mm;
}
int main() {
	cin >> n>>mm;
	for (int i = 0; i < n; i++) {
		cin >> nums[i];
	}
	int ll =-1, r = 1000000007;
	while (ll + 1 != r) {
		int mid = (ll + r) / 2;
		if (check(mid))
			ll = mid;
		else
			r= mid;
	}
	cout << r;
	return 0;
}
2023/7/15 21:59
加载中...