1 条题解
-
0凌艺樽 (Lawrence劳伦斯) LV 10 @ 2024-1-14 15:21:36
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; const int maxn=100010; int n; int sum[maxn]; int f[maxn]; int b[maxn]; struct home{ int s; int a; }h[maxn]; bool cmp(const home &a,const home &b){ return a.a>b.a; } int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>h[i].s; for(int i=1;i<=n;i++) cin>>h[i].a; sort(h+1,h+1+n,cmp); for(int i=1;i<=n;i++) sum[i]=sum[i-1]+h[i].a; for(int i=1;i<=n;i++) f[i]=max(f[i-1],2*h[i].s); for(int i=n;i>=1;i--) b[i]=max(b[i+1],2*h[i].s+h[i].a); for(int i=1;i<=n;i++) cout<<max(sum[i]+f[i],sum[i-1]+b[i])<<endl; return 0; }
- 1
信息
- ID
- 751
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 9
- 标签
- 递交数
- 10
- 已通过
- 7
- 上传者