记录编号 588852 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 艾姆易艾克斯 最终得分 100
用户昵称 Gravatar小金 是否通过 通过
代码语言 C++ 运行时间 0.240 s
提交时间 2024-07-01 17:23:08 内存使用 1.51 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<map>
using namespace std;
const long long m=1e9+7;
int n,ans;
long long s=1,cs;
map<int,int> b;
struct xl{
    int a,b;
}x[100010];
bool cmp(xl c,xl d)
{
    if(c.a!=d.a) return c.a<d.a;
    else return c.b>d.b;
}
void q()
{
    long long t=2;
    while(cs>0)
    {
        if(cs%2==1)
        {
            s=s*t%m;
        }
        t=t*t%m;
        cs=cs/2;
    }
}
int main()
{
    freopen("Mex.in","r",stdin);
    freopen("Mex.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x[i].a);
        b[x[i].a]++;
    }
    for(int i=1;i<=n;i++)
    {
        scanf("%d",&x[i].b);
    }
    sort(x+1,x+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        if(x[i].b>x[i].a)
        {
            b[x[i].a]--;
            b[x[i].b]++;
        } 
    }
    for(int i=0;;i++)
    {
        if(b[i]==0)
        {
            ans=i;
            break;
        }
    }
    /*for(int i=1;i<=n;i++)
    {
        printf("%d %d\n",x[i].a,x[i].b);
    }*/
    for(int i=1;i<=n;i++)
    {
        if(x[i].a!=ans&&x[i].b!=ans)
        {
            cs++;
        }
    }
    q();
    printf("%d %lld",ans,s);
    return 0;
}