1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int n, m; int a[100005]; bool check(long long x) { long long ans = 0, cnt = 1; for (int i = 1; i <= n; i++) { if (a[i] > x)return 0; if (ans + a[i] <= x) ans += a[i]; else { ans = a[i]; cnt++; } } return cnt <= m; } int find() { int l = 0, r = 1e9+1; while (l + 1 < r) { long long mid = l + r >> 1; if (check(mid))r = mid; else l = mid; } return r; } int main() { cin>>n>>m; for (int i = 1; i <= n; i++) cin>>a[i]; cout << find(); return 0; } }
傻子才会信这是AC代码
- 1
信息
- ID
- 233
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 4
- 已通过
- 2
- 上传者