| 比赛 | 
    2024暑假C班集训7 | 
    评测结果 | 
    ATTTTTTTTT | 
    | 题目名称 | 
    买卖 | 
    最终得分 | 
    10 | 
    | 用户昵称 | 
    123 | 
    运行时间 | 
    17.990 s  | 
    | 代码语言 | 
    C++ | 
    内存使用 | 
    6.94 MiB  | 
    | 提交时间 | 
    2024-07-07 09:36:53 | 
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N=100010;
int n;
long long a[N],b[N],mx=-1;
void dfs(int step,int cnt,long long ans)
{
    if (step==n+1)
    {
        if (ans>mx)
        {
            mx=ans;
        }
        return ;
    }
    dfs(step+1,cnt,ans-a[step]+b[step]);
    dfs(step+1,cnt+1,ans-a[step]);
    dfs(step+1,cnt,ans);
    if (cnt) dfs(step+1,cnt-1,ans+b[step]);
}
int main() {
    freopen("buy.in","r",stdin);
    freopen("buy.out","w",stdout);
    cin>>n;
    for (int i=1;i<=n;i++)
    {
        scanf("%lld",&a[i]);
    }
    for (int i=1;i<=n;i++)
    {
        scanf("%lld",&b[i]);
    }
    dfs(1,0,0);
    cout<<mx;
}