| 比赛 | 
    2024暑假C班集训7 | 
    评测结果 | 
    AWWWTTTTTT | 
    | 题目名称 | 
    买卖 | 
    最终得分 | 
    10 | 
    | 用户昵称 | 
    Untitled | 
    运行时间 | 
    12.050 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    4.11 MiB  | 
    | 提交时间 | 
    2024-07-07 10:51:20 | 
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int const N=100010;
int n,idx=1;
ll res;
bool d[N];
struct node{
    int a,b,t;
} c[N];
bool cmp(node a,node b){
    return a.b>b.b;
}
int main(){
    freopen("buy.in","r",stdin);
    freopen("buy.out","w",stdout);
    
    priority_queue< int,vector<int>,less<int> > q;
    scanf("%d",&n);
    for (int i=1;i<=n;i++) scanf("%lld",&c[i].a);
    for (int i=1;i<=n;i++){
        scanf("%lld",&c[i].b);
        c[i].t=i;
    }
    sort(c+1,c+n+1,cmp);
    for (int i=1;i<=n;i++){
        int u;
        ll w=LONG_LONG_MAX;
        for (int j=1;j<=n;j++){
            if (d[j]) continue;
            if (c[j].a<w) w=c[j].a,u=j;
        }
        if (c[i].b-w<=0){
            printf("%lld",res);
            return 0;
        }
        res+=c[i].b-w;
        d[u]=1;
    }
    printf("%lld",res);
    
    return 0;
}