只有在n=3时,才能够执行k--,也就是k=3。
#include <iostream>
using namespace std;
#define MAXN 1000000
int n, B, A, M[MAXN], C[MAXN], l, r, ans, mid;
bool check(int nn) {
int count = 0, i, j;
i = ① ;n-nn+1//让最有钱的同学租最便宜的车,减少经费A的消耗
j = 1;
while (i <= n) {
if( ② )m[i]<c[j]//钱不够的同学让学校出钱,可以判断count是学校的支出;i++说明当前第i位同学已经租下了第j辆车,再来下一个同学,如果自己带的钱够,那就不要让学校出钱;如果自己带的钱不够,那就让学校负担C[j]-M[j]的钱。j++说明第j辆车被租走了,再来下一辆车
count += C[j] - M[i];
i++;
j++;
}
return ③ ;count<=A//函数返回值是bool,