(样例过了)为啥照着题解还是0分
查看原帖
(样例过了)为啥照着题解还是0分
997261
2009niuniu楼主2024/3/16 19:32
#include<bits/stdc++.h>
using namespace std;

struct imi{
    int n;
    bool m;
}l[200010];

bool cmp(imi a,imi b)
{
    return a.n>b.n;
}

int main()
{
    int im,in;
    cin>>im>>in;
    for(int i=0;i<im;i++)
    {
        cin>>l[i].n;
        l[i].m=0;
    }
    for(int i=im;i<im+in;i++)
    {
        cin>>l[i].n;
        l[i].m=1;
    }
    sort(l,l+im+in,cmp);
    int ans=0;
    int q,h;
    for(int i=0;i<im+in;i++)
    {
        if(l[i].m==1)
        {
            q=i-1;
            h=i+1;
            if(q<0) while(l[q].m==0||q==0) q--;
            if(h>im+in) while(l[h].m==0||h==im+in) h++;
            if(q<=0) ans+=abs(l[i].n-l[h].n);
            else if(h>=im+in) ans+=abs(l[i].n-l[q].n);
            else ans+=min(abs(l[i].n-l[h].n),abs(l[i].n-l[q].n));
            
        }
    }
    cout<<ans;
}
2024/3/16 19:32
加载中...