WA两个点 求大神看一下 谢谢

P1678 烦恼的高考志愿

yang2016 @ 2016-08-24 14:59:38

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,m,a[100010],b[100010];
long long p=1,x1,x2,ans=0;
int main()
{
    //freopen("in.txt","r",stdin);
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    scanf("%d",&a[i]);
    for(int i=1;i<=m;i++)
    scanf("%d",&b[i]);
    sort(a+1,a+1+n);
    sort(b+1,b+1+m);
    for(int i=1;i<=m;i++)
    {
        for(int j=p;i<=n;j++)
        {
            if(b[i]==a[j]) break;
            if(b[i]>a[n]){
                ans+=(b[i]-a[n]);
                break;
            }
            if(b[i]<a[1]){
                ans+=(a[1]-b[i]);
                break;                        
            }
            if(b[i]<a[j]){
                x1=a[j]-b[i];
                x2=b[i]-a[j-1];
                ans+=min(x1,x2);
                break;
            }
            p=j-1;
        }
    }
    printf("%d",ans);
    return 0;
}

by 君莫哭 @ 2017-03-17 13:03:14

全部long long


by 香风智乃 @ 2017-08-16 22:22:43

如果是 #3,#9 WA 的话,考虑一下某位学生的估分所有学校的分数线都高的情况 @yang2016


by a987654 @ 2024-11-16 15:31:14

考古


|