This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define lln long long
void solve() {
    lln n; cin >> n;
    lln gain[n], cap[n];
    for (lln i=0;i<n;i++) cin >> gain[i];
    for (lln i=0;i<n;i++) cin >> cap[i];
    lln ans = 0;
    vector<pair<lln,lln> > gyms; //gain, cap
    for (lln i=0;i<n;i++) gyms.push_back(make_pair(gain[i], cap[i]));
    sort(gyms.begin(),gyms.end());
    // for (lln i=0;i<n;i++) cout << get<0>(gyms[i]) << " " << get<1>(gyms[i]) << '\n';
    for (lln t=0;t<n;t++) {
        lln level = 0, badges = 0; 
        for (lln i=0;i<n;i++) {
            if (i==t) continue;
            // cout << t << " " << i << " " << level << '\n';
            if ((level+get<0>(gyms[i])) <= get<1>(gyms[t]) && level <= get<1>(gyms[i])) {
                // cout << "yes " << i << " " << t << '\n';
                level += get<0>(gyms[i]);
                badges++;
            }
        } 
        // cout << t << " " << badges << '\n';
        ans = max(ans, badges+1);
    } 
    cout << ans << '\n';
}
int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int t = 1;
    while (t--) solve();
    return 0;
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |