社区讨论
30分,剩下的全部Re,用的是二分啊,为什嘛还是超时
P1678烦恼的高考志愿参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo8npe8l
- 此快照首次捕获于
- 2023/10/27 21:36 2 年前
- 此快照最后确认于
- 2023/10/27 21:36 2 年前
C
#include<iostream>
#include<algorithm>
using namespace std;
int m,n,score;
int a[1001];
long long sum=0;
int main()
{
cin>>m>>n;
for(int i=1;i<=m;i++)
cin>>a[i];
sort(a+1,a+1+m);
for(int i=1;i<=n;i++)
{
cin>>score;
int left=0,right=m+1;
while(left<right)
{
int mid=left+(right-left)/2;
if(a[mid]>score)
right=mid;
else
left=mid+1;
}
if(score<=a[1])
{
sum+=a[1]-score;
}
else
sum+=min(abs(a[left]-score),abs(a[left-1]-score));
}
cout<<sum;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...