Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <stdio.h>#define MAXN 100000int getScore(int *arr, int n, int t) {int last = 0, cur = 0;int score = 0;for (int i = 0; i < n; i++) {if (t + last > arr[i]) {score++;last = t + last - arr[i];} else {last = 0;}}return score;}int main() {int n, k;int arr[MAXN];scanf("%d%d", &n, &k);for (int i = 0; i < n; i++) {scanf("%d", &arr[i]);}int left = 0, right = k + 1, mid;int hold = n / 2 + 1;int score;while (left + 1 < right) {mid = (left + right) / 2;score = getScore(arr, n, mid);