#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> ii;
typedef long long ll;
int main(){
int n; cin>>n;
vector<ii> gym(n);
for(auto &v:gym) cin>>v.first;
for(auto &v:gym) cin>>v.second;
sort(gym.begin(),gym.end(),[&](ii a,ii b){
return a.first+a.second < b.first+b.second;
});
priority_queue<int> pq;
int badge=0;
ll level=0;
for(auto &v:gym){
if(level<=v.second){
badge++;
level+=v.first;
pq.push(v.first);
}
else{
if(pq.top()>v.first){
level-=pq.top();
level+=v.first;
pq.pop();
pq.push(v.first);
}
}
}
cout<<badge<<endl;
}
# | 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... |