Submission #1164879

#TimeUsernameProblemLanguageResultExecution timeMemory
1164879LuvidiGym Badges (NOI22_gymbadges)C++20
24 / 100
98 ms6336 KiB
#include <bits/stdc++.h>
using namespace std;

#define ll long long
#define pll pair<ll, ll>
#define pii pair<int, int>
#define fs first
#define sc second
#define pb push_back

void solve() {
    int n;
    cin>>n;
    pii a[n];
    for(int i=0;i<n;i++)cin>>a[i].sc;
    for(int i=0;i<n;i++)cin>>a[i].fs;
    sort(a,a+n,[](pii p1,pii p2){return make_pair(p1.fs+p1.sc,p1.sc)<make_pair(p2.fs+p2.sc,p2.sc);});
    vector<int> v={0};
    for(auto[x,y]:a){
        int i=upper_bound(v.begin(),v.end(),x)-v.begin();
        if(i==v.size())v.pb(v.back()+y);
        else v[i]=min(v[i],v[i-1]+y);
    }
    cout<<v.size()-1<<'\n';
}

int main() {
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    solve();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...