您的位置:首页 > 教育 > 培训 > 医疗网站建设比较好的_宁波网站建设用什么软件_网址大全实用网址_随州网络推广

医疗网站建设比较好的_宁波网站建设用什么软件_网址大全实用网址_随州网络推广

2025/3/1 8:28:39 来源:https://blog.csdn.net/rensifang/article/details/145937529  浏览:    关键词:医疗网站建设比较好的_宁波网站建设用什么软件_网址大全实用网址_随州网络推广
医疗网站建设比较好的_宁波网站建设用什么软件_网址大全实用网址_随州网络推广

                                                城市距离之和

                                                内存限制: 256 Mb时间限制: 1000 ms

题目描述

设 (x,y)(x,y) 与 (x′,y′)(x′,y′) 是平面上的两个点的坐标,它们之间的城市距离定义为

∣x−x′∣+∣y−y′∣∣x−x′∣+∣y−y′∣

给定 nn 个点,请计算所有点对之间的城市距离之和。

输入格式
  • 第一行:单个整数 nn。
  • 第二行到第 n+1n+1 行:第 i+1i+1 行有两个整数 xixi​ 和 yiyi​,表示一个点的坐标。
输出格式
  • 单个整数:表示所有点对的城市距离之和。
数据范围
  • 30%30% 的数据,1≤n≤10001≤n≤1000
  • 60%60% 的数据,1≤n≤500001≤n≤50000
  • 100%100% 的数据,1≤n≤300,0001≤n≤300,000
  • −106≤xi,yi≤106−106≤xi​,yi​≤106
样例数据

输入:

3
1 1
2 3
1 4

输出:

8

说明:

3 + 3 + 2 = 8

题解:

#include<bits/stdc++.h>
using namespace std;
const int N=300005;
long long x[N],y[N],sum,n,k;
int main(){cin>>n;for(int i=0;i<n;i++){cin>>x[i]>>y[i];}sort(x,x+n);sort(y,y+n);for(int i=n-1,k=n-1;i>=0;i--,k-=2){sum+=k*x[i];sum+=k*y[i];}cout<<sum;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com