我是萌新,刚学OI,求教为什么只有70分。。。

P1678 烦恼的高考志愿

RKcer21 @ 2019-06-12 21:25:31

RT,

#include<bits/stdc++.h>
using namespace std;
long long i,ans,j,k,n,m,t;
long long a[100000];
int main()
{

cin>>m>>n;
for (i=1;i<=m;i++)
{
  cin>>a[i];
 }
sort(a+1,a+m+1);
for(i=1;i<=n;i++)
{  
cin>>k;
t=lower_bound(a+1,a+m+1,k)-a;
if (abs(a[t]-k)>(abs(a[t-1]-k)))  ans+=abs(a[t-1]-k);
  else ans+=abs(a[t])-k;
}
cout<<ans;
return 0;
}

by linluke @ 2019-06-12 21:29:35

@俞科chen21 您把a开100001试下


by RKcer21 @ 2019-06-12 21:31:33

@linluke 还是70分。。


by linluke @ 2019-06-12 21:36:50

@俞科chen21 要特判,如果k实在太小,就直接输出a[1]-k


by RKcer21 @ 2019-06-12 21:37:39

@linluke 能给个测试点看看吗


by RKcer21 @ 2019-06-12 22:27:40

@linluke 不用了,我现在已经可以了。


by dabuone @ 2019-06-30 16:04:12

hhh


|