比赛 NOIP2023模拟赛1 评测结果 AWAWAWWWWW
题目名称 奇怪的监狱 最终得分 30
用户昵称 元始天尊 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2023-11-13 11:30:08
显示代码纯文本
#include<bits/stdc++.h>
using namespace std; 
int N,a[1010];
long long ans=0,s,q;
void search(int l,int r)
{
    if(l<=r)
    {
        int mid=(l+r)/2;
    if(a[mid])
    {
        a[mid]=0;
        s++;
        ans+=r-l;
        search(l,mid-1);
        search(mid+1,r);
        return;
    }
    for(int i=mid;i>=l;i--)
    {
        if(a[i]) 
        {
            a[i]=0;
            s++;
            ans+=r-l;
            search(l,i-1);
            search(i+1,r);
            return;
        }
        if(a[r+l-i])
        {
            a[r+l-i]=0;
            s++;
            ans+=r-l;
            search(l,r+l-i-1);
            search(r+l-i+1,r);
            return;
        }
    }
    }
    else return;
}
int main()
{ 
    freopen("prison.in","r",stdin);
    freopen("prison.out","w",stdout);
    cin>>N>>q;  
    for(int i=1;i<=q;i++)
    {
        int x;
        cin>>x;
        a[x]++;
    }
    search(1,N);
    cout<<ans<<endl;
    return 0;
}