제출 #757990

#제출 시각아이디문제언어결과실행 시간메모리
757990DexvaGym Badges (NOI22_gymbadges)C++14
0 / 100
2069 ms16452 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...