1 条题解

  • 1
    @ 2024-5-22 16:12:58
    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int n,sum[100010],q[100010],h[100010];
    struct node{
        int s;
        int a;
    }v[100010];
    bool cmp(node x,node y){return x.a>y.a;}
    int main()
    {	scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",&v[i].s); 
        for(int i=1;i<=n;i++)scanf("%d",&v[i].a);
        sort(v+1,v+1+n,cmp);
        for(int i=1;i<=n;i++)sum[i]=sum[i-1]+v[i].a; 
        for(int i=1;i<=n;i++)q[i]=max(q[i-1],2*v[i].s);
        for(int i=n;i>=1;i--)h[i]=max(h[i+1],2*v[i].s+v[i].a);
        for(int i=1;i<=n;i++)printf("%d\n",max(sum[i]+q[i],sum[i-1]+h[i]));
        return 0;
    }
    

    AC

    • 1

    信息

    ID
    1407
    时间
    1000ms
    内存
    256MiB
    难度
    5
    标签
    递交数
    18
    已通过
    15
    上传者