3 条题解

  • 1
    @ 2025-1-15 15:15:11

    so?

    #include<bits/stdc++.h>
    using namespace std;
    int a[100005],b[100005],n,m,h; 
    int main(){
    	cin>>m>>n;
    	for(int i=1;i<=m;i++){
    		cin>>a[i];
    	}
    	for(int i=1;i<=n;i++){
    		cin>>b[i];
    	}
    	sort(a+1,a+m+1);
    	for(int i=1;i<=n;i++){
    		int k=lower_bound(a+1,a+n+1,b[i])-a;
    	    if(k==1){
    	    	h+=abs(a[k]-b[i]);
    		}
    		else if(k==m+1){
    			h+=abs(a[m]-b[i]);
    		}
    		else{
    			h+=min(abs(a[k]-b[i]),abs(a[k-1]-b[i]));
    		}
    	}
    	cout<<h;
    	return 0;
    }
    

    信息

    ID
    5736
    时间
    1000ms
    内存
    128MiB
    难度
    2
    标签
    递交数
    100
    已通过
    22
    上传者