比赛 2024暑期C班集训1 评测结果 RRRRRRRRRRRRRRRRRRRR
题目名称 艾姆易艾克斯 最终得分 0
用户昵称 健康铀 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2024-07-01 09:35:47
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
long long n,dp[100010],b[100010],bj,ans=1e10,res,a[100010],tp[100010],tp1[100010];
void dfs(long long x){
    if(x>n){
        long long y=0;
        for(long long i=1;i<=n;i++)
        tp1[i]=tp[i];
        sort(tp1+1,tp1+n+1); 
        for(long long i=1;i<=n;i++){
            if(tp1[i]==y)
            y++;
        }
        dp[y]++;
        ans=min(ans,y);
        return;
    }
    dfs(x+1);
    tp[x]=b[x];
    dfs(x+1);
    tp[x]=a[x]; 
}
long long g(long long x){
    long long y=1;
    for(long long i=1;i<=x;i++)
    y=y*2%(1000000007);
    return y;
}
int main(){
    freopen("Mex.in","r",stdin);
    freopen("Mex.out","W",stdout);
    cin>>n;
    if(n>15){
        cout<<g(n)<<endl;
        return 0;
    }
    for(long long i=1;i<=n;i++){
        cin>>a[i]; 
        tp[i]=a[i];
    }
    for(long long i=1;i<=n;i++){
        cin>>b[i];
    }
    dfs(1);
    cout<<ans<<" "<<dp[ans];
    return 0;
}