Untitled
unknown
plain_text
3 years ago
959 B
9
Indexable
#include <bits/stdc++.h> using namespace std; #define f first #define s second #define pb push_back int main() { int n,i,j,k,a; cin>>n; int h[n+3],e[n+3]; vector<pair<int,int> >v; vector<int>ans; multiset<int,greater<int> >s; for(i=1;i<=n;i++){cin>>h[i];} for(i=1;i<=n;i++){cin>>e[i];v.push_back({h[i],e[i]});} cin>>k; sort(v.begin(), v.end()); i=0; while(1){ if(i>=n){break;} while(v[i].f<=k && i<n){ s.insert(v[i].s); i++; } if(s.size()==0){break;} a=*s.begin(); s.erase(s.begin()); k+=a; ans.push_back(k); } while(s.size()>0){ a=*s.begin(); s.erase(s.begin()); k+=a; ans.push_back(k); } cout<<ans.size()<<" "; for(i=0;i<ans.size();i++){cout<<ans[i]<<" ";}cout<<"\n"; }
Editor is loading...