swustojCalculate Sum-Of-Absolute-Differences(0237)

2024-03-02 11:08

本文主要是介绍swustojCalculate Sum-Of-Absolute-Differences(0237),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

给你N个正整数,求两两之差的绝对值之和。 
比如有4个数分别为 3,2,6,5,则答案为 
|3-2| + |3-6| + |3-5| + |2-6| + |2-5| + |6-5| =14
Description
测试有很多组,对于每一组测试: 
第一行为一个正整数 N( 2<= N <=20000)。 
第二行有N正个整数,每个数不大于 1000000。
Input
每组测试输出一行。测试数据保证结果在int范围内。
Output
1
2
3
4
5
4
3 2 6 5
3
1 2 3
Sample Input
1
2
3
14
4

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include<stack>
#include<iostream>
#include<string.h>
#include<math.h>
using namespace std;int main()
{int n;int a[20005];while (cin >> n){int sum = 0;for (int i = 0; i < n; i++){scanf("%d", &a[i]);}sort(a, a + n);for (int i = 0; i < n-1; i++){sum += abs(a[i] - a[i + 1])*(n - 1 - i)*(i + 1);}cout << sum << endl;}return 0;
}


这篇关于swustojCalculate Sum-Of-Absolute-Differences(0237)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/765914

相关文章

Go语言中的go.mod与go.sum

问题1:什么是go.mod以及它是用来解决什么问题的? go mod 是 Go 语言引入的包管理工具,用于解决 Go 语言项目在依赖管理方面的问题。 传统上,若不使用go mod,则需要要通过GOPATH来管理依赖,而这种方式存在一些问题: 如1. 包管理依赖不明确 2. 依赖库的版本管理 3. 需要手动管理同步依赖的复杂性等 而go mod可以帮助开发者在项目中明确管理依赖的版

poj 1564 Sum It Up -- DFS 递归

题意:给一个数 t ,以及 n 个数,求 n 个数中的几个数加起来的和为 t 的情况有多少种。 注意:题目要求相同的组合方式不能出现2次,即 “3 4 1 1 1 1 ” 的结果为:“1+1+1”。 思路:一个  for  循环遍历一遍,每个 i 表示以当前数为起点开始一次DFS递归,当所遍历的和为 t 时,输出该组合方式,如果大于 t 则返回,小于则往下递归。以二维数组保存已经输出过的数据,

力扣SQL50 每月交易 I 求和 SUM(条件表达式) DATE_FORMAT(日期,指定日期格式)

Problem: 1193. 每月交易 I 👨‍🏫 参考题解 Code select DATE_FORMAT(trans_date, '%Y-%m') AS month,country,count(*) as trans_count,count(if(state = 'approved', 1, NULL)) as approved_count,sum(amount) as

力扣SQL50 平均售价 ifnull SUM 连表查询

Problem: 1251. 平均售价 👨‍🏫 参考题解(题目数据增强,代码只能过90%的点) 🍻 AC code SELECT p.product_id, ROUND(ifnull(SUM(units * price) / SUM(units), 0),2) AS average_priceFROM prices as pLEFT JOIN unitsSold as u

LeetCode第40题之Combination Sum II

这一题主要是在上一题的基础上解决重复解的问题。 C++代码: #include <iostream>#include <algorithm>#include <vector>using namespace std;class Solution {private://res保存满足题意的结果vector<vector<int>> res;//保存当前的一种方案vector<int> me

LeetCode第39题之Combination Sum(两种方法)

思路:两种方法都是利用递归回溯,第二方法在第一种方法的基础上对原始数据先进行排序,这样可以剪枝,加快计算速度。第一种方法在LeetCode上测试运行的时间是24ms,第二种方法运行时间为16ms。 方法一: #include <iostream>#include <algorithm>#include <vector>using namespace std;class Solution

计算机--机器学习---机器learning技法sum

------------- lecture 1: linear SVM: 1. 对于large margin 的理解,利用相关的参数,来简化对应的文章分析,使得算法,可以很快地进行推进。---Model建模的过程,简化分析的函数相关值,如何利用数学知识,来一步步解决问题,都是需要思考的。 2.适当地添加一些数学表达式,来优化对应的模型,比如添加yn不影响最后的结果,但是,可以很大程度上

计算机--机器学习---机器learning基石sum

从机器学习基石,开始,重新看文章,复习, 2017.1.4: 复习了对应的pla算法,重新看PPT,可以发现对应的理解在逐步的加深,并且,辅助着看线性代数的时候,可以发现对应的特征理解,是对于一个space进行展开,我们看到的资料,都是针对某个space进行对应的展开,这样的话,所有的feature都可以进行对应的展开工作,feature的选取,就会进一步的展开。 在看PLA的时候,之前第一

CSS属性之absolute

0.脱离标准文档流 绝对定位的元素会脱离标准文档流,拥有z-index属性,并且对于它的任何操作和改变都不会影响它的兄弟元素和父级元素,这里就不过多介绍。 不过值得注意的是,虽然绝对定位元素脱离的标准文档流,但是它依然会受到父元素影响哦,比如line-height和text-align属性等。 1.跟随性 绝对定位的元素脱离标准文档流之后,并不是跑到了任意的位置,而是跟在前一个没有添加ab

UVa 11361 Investigating Div-Sum Property

这道题居然提交了十次才过....期间小问题不断。思路的话基本是《训练指南》里面来的,不过有几个小问题需要注意一下。第一,当K在大于100的情况下,就直接输出0就可以了。因为a,b不超过2^31,可以估算出a,b最多十位十进制数,那么每位最大为9,所以各个数字之和是不可能超过100的,那么个数字之和为模K为0的条件是永远不可能到达的。       还有一点是,当剩余数字d=0时,当且