# [0,n]二分搜
https://open.kattis.com/problems/licenserenewal
```c++
#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("O2", "O3", "Ofast", "unroll-loops")
#define fs first
#define sc second
#define pb push_back
#define ll long long
#define int ll
#define FOR(i, a, b) for (ll i = (a); i < (b); i++)
#define REF(i, a, b) for (ll i = (a); i >= (b); i--)
#define pii pair<int, int>
int n, s1, s2, t, s, sum = 0;
int n1 = 0, n2 = 0;
vector<int> v;
signed main() {
cin >> n >> s1 >> s2;
FOR(i, 0, n) {
cin >> t;
v.pb(t);
}
int lo = 0, hi = n, mid = (lo + hi) / 2;
while (lo <= hi) {
//cout << lo << " " << hi << endl;
int t1 = s1, t2 = s2;
mid = (lo + hi) / 2;
vector<int> tmp;
FOR(i, 0, mid) {
tmp.pb(v[i]);
}
sort(tmp.begin(), tmp.end(), greater<int>());
for (auto i : tmp) {
if (i > t1)
t2 -= i;
else
t1 -= i;
}
//cout << tmp.size() << " " << t1 << " " << t2 << endl;
if (t1 >= 0 && t2 >= 0) {
lo = mid + 1;
} else
hi = mid - 1;
}
cout << lo - 1 << endl;
return 0;
}