| Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
|---|---|---|---|---|---|---|---|---|---|
| 127127 | 廖悦扬 | 花费 | C++ | Accepted | 100 | 0 MS | 252 KB | 648 | 2024-01-25 07:57:26 |
#include <bits/stdc++.h> using namespace std; int a[1005]; int n, m, s; bool check(int sum) { int id = 1, tot = 0; for (int i=1; i<=n; i++) { if (sum-tot >= a[i]) tot += a[i]; else if (a[i] > sum) return false; else { id++; if (id > m) return false; tot = a[i]; } } return true; } signed main() { scanf("%d%d", &n, &m); for (int i=1; i<=n; i++) scanf("%d", &a[i]), s += a[i]; int l = 1, r = s; while (l < r) { int mid = l + r >> 1; if (!check(mid)) { l = mid + 1; } else r = mid; } printf("%d", l); return 0; }