水题50分求调
  • 板块灌水区
  • 楼主Tomwsc
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/9/7 21:02
  • 上次更新2024/9/7 21:52:14
查看原帖
水题50分求调
1418967
Tomwsc楼主2024/9/7 21:02

题目

QAQ

代码如下

#include<bits/stdc++.h>
#define int long long
using namespace std;
int l , r , m , n , a[10000001] , b[100000001];
int ans;

signed main()
{
	cin >> m >> n;
	for(int i = 1;i <= m;i ++)
		cin >> b[i];
	for(int i = 1;i <= n;i ++)
		cin >> a[i];
	sort(b + 1 , b + 1 + m);
	for(int i = 1;i <= n;i ++){
		l = 1;
		r = m;
		int cnt = 1000;
		if(a[i] == 0){
			ans += b[1];
			continue;
		}
		else	
			while(l < r){
				int mid = (l + r) / 2;
				if(b[mid] == a[i]){
					cnt = 0;
					break;
				}
				else if(b[mid] > a[i]){
					cnt = cnt < abs(b[mid] - a[i]) ? cnt : abs(b[mid] - a[i]);
					r = mid;
				}
				else{
					cnt = cnt < abs(b[mid] - a[i]) ? cnt : abs(b[mid] - a[i]);
					l = mid + 1;
				}
			}
		ans += cnt;
		//cout << ans << endl;
	}
	cout << ans;
	return 0;
}

蒟蒻真的很需要dalao们

2024/9/7 21:02
加载中...