#include #include #include #include #include #include using ll = int64_t; using std::cin, std::cout; const ll maxn = 1e5+5; ll n, s[maxn]; std::map> hss; int main(){ std::iostream::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr); cin>>n; for(ll i{1};i<=n;i++){ cin>>s[i]; } for(ll i{1};i<=n;i++){ ll a; cin>>a; if(auto it {hss.find(s[i])}; it==hss.end()){ hss.emplace(s[i], std::vector{a}); }else{ it->second.emplace_back(a); } } for(ll i{1};i<=n;i++){ ll cnta{}; ll maxs{}; ll ni{i}; auto nowm = hss.begin(); auto nows = hss.begin()->second.begin(); while(ni--){ // cout<<"nows: "<<*nows<<'\n'; cnta+=*nows; maxs = (*nowm).first; // cout<<"mxs: "<second.begin(); } } cout<<(maxs*2+cnta)<<'\n'; } }