1 条题解

  • 0
    @ 2025-7-30 17:40:21
    using namespace std;
    int a[100010];// b[100010];
    int main(){
    	freopen("exam.in", "r", stdin);
        freopen("exam.out", "w", stdout);
    	int n, m;
    	cin >> n >> m;
    	for(int i = 0; i < n; i ++){
    		cin >> a[i];
    	}
    	sort(a, a + n);
    	int sum = 0;
    	for(int i = 0; i < m; i ++){
    		int t;
    		cin >> t;
    		if(t <= a[0]){
    			sum += abs(a[0] - t);
    		}
    		else if(t >= a[n-1]){
    			sum += abs(a[n-1] - t);
    		}
    		else{
    			if(a[lower_bound(a, a+n, t) - a] - t < t - a[lower_bound(a, a+n, t) - a - 1]){
    				sum += abs(a[lower_bound(a, a+n, t) - a] - t);
    			}
    			else{
    				sum += abs(a[lower_bound(a, a+n, t) - a - 1] - t);
    			}
    		}
    	}
    	cout << sum;
    }
    
    • 1

    信息

    ID
    405
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    173
    已通过
    37
    上传者