rt,算法好像有点问题,样例能过但是点一个都过不了
#include <bits/stdc++.h>
#define N 100005
#define INF 0x3f3f3f3f
using namespace std;
long long n, mxlen[N], q[N];
struct Home{
long long s, a;
long long sum;
};
Home home[N];
bool cmp(Home a, Home b) {
return a.sum > b.sum;
}
int main () {
cin >> n;
for(int i = 1;i <= n;i++) {
cin >> home[i].s;
}
for(int i = 1;i <= n;i++) {
cin >> home[i].a;
home[i].sum=home[i].a+home[i].s;
}
// Home tmp;
// for(int i = 1;i <= n;i++) {
// tmp[i].s=home[i].s, tmp[i].a=home[i].a, tmp[i].sum=home[i].sum;
// }
// sort(tmp+1, tmp+1+n, cmp);
sort(home+1, home+1+n, cmp);
for(int i = 1;i <= n;i++) {
mxlen[i]=max(mxlen[i-1], home[i].s);
q[i]=q[i-1]+home[i].a;
}
for(int i = 1;i <= n;i++) {
cout << 2*mxlen[i]+q[i] << endl;
}
return 0;
}