专栏文章

题解:P12165 [蓝桥杯 2025 省 C/Java A] 最短距离

P12165题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@mipk2g5t
此快照首次捕获于
2025/12/03 13:17
3 个月前
此快照最后确认于
2025/12/03 13:17
3 个月前
查看原文

思路

如果想让电源线的消耗的长度最少,就让第 ii 小的显示器连接第 ii 小的插座。

样例解释

排序后的 xx[0,1][0,1]
排序后的 yy[2,3][2,3]
第一个电源线连接第一个显示器和第一个插座,长度为:02|0-2|
第二个电源线连接第二个显示器和第二个插座,长度为:13|1-3|
2+2=42+2=4 答案是对的。

代码

CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n;
    cin>>n;
    vector<int> x(n),y(n);
    for(int i=0;i<n;i++) cin>>x[i];
    for(int i=0;i<n;i++) cin>>y[i];
    sort(x.begin(),x.end());//排序x。
    sort(y.begin(),y.end());//排序y。
    long long ans=0;
    for(int i=0;i<n;i++) ans+=abs(x[i]-y[i]);//加上第i条电源线的长度。
    cout<<ans;
    return 0;
}
谢谢观看!

评论

0 条评论,欢迎与作者交流。

正在加载评论...