问题 J: 亚运会旗帜

简介: 题目描述2022年亚运会在杭州举行。浙江理工大学经常为这些大的赛事设计一些标识,上次冬运会就有浙江理工大学的设计。亚运会开幕式,交给浙江理工大学一个旗帜设计,要求设计的旗帜有强烈的颜色反差感。 艺术设计学院的老师对颜色进行了设计,每个颜色对应一个数字,把第一次出现的n面旗帜用数组a表示,第2次出现的用数组b表示A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出n个元素进行一一配对(可以不按照原来在序列中的顺序),并使得所有配对元素差的绝对值之和最大。

题目描述


2022年亚运会在杭州举行。

浙江理工大学经常为这些大的赛事设计一些标识,上次冬运会就有浙江理工大学的设计。

亚运会开幕式,交给浙江理工大学一个旗帜设计,要求设计的旗帜有强烈的颜色反差感。

艺术设计学院的老师对颜色进行了设计,每个颜色对应一个数字,把第一次出现的n面旗帜用数组a表示,第2次出现的用数组b表示

A={a[1],a[2],…,a[n]},B={b[1],b[2],…,b[n]},从A、B中各选出n个元素进行一一配对(可以不按照原来在序列中的顺序),并使得所有配对元素差的绝对值之和最大。


输入


输入的第1行为1个整数n 第2行包含n个整数,题目中的A序列。 第3行包含n个整数,题目中的B序列。


输出


一个数,最大配对


样例输入

4

2 5 6 3

1 4 6 7

样例输出


14

提示

3与6配对,2与7配对,5与4配对,6与1配对,绝对值之差和为14

对于10%的数据,有n≤20;  

对于30%的数据,有n≤100;  

对于50%的数据,有n≤1000;  

对于100%的数据,有n≤10000;a[i],b[i]≤1000。


代码:

#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
  int n;
  cin >> n;
  long long sum=0;
  int* a, * b;
  a = new int[n];
  b = new int[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  for (int i = 0; i < n; i++) {
    cin >> b[i];
  }
  sort(a, a + n);
  sort(b, b + n);
  int x;
  for (int i = 0, j = n - 1; i < n; i++, j--) {
    x = a[i] - b[j];
    x = (x > 0) ? x : (-x);
    sum += x;
  }
  cout << sum;
  delete[]a;
  delete[]b;
  return 0;
}


相关文章
|
云计算
阿云漫画 丨 从1896到2022,看百年奥运科技变迁史
阿云漫画 丨 从1896到2022,看百年奥运科技变迁史
132 0
|
运维 安全 物联网
西湖论剑说安全
6月16日,“数智安全,智理未来”西湖论剑·网络安全线上峰会在杭州正式拉开帷幕,阿里云在会上,凭借在工业互联网安全上的长期沉淀,提出工业互联网“安全+”口号。
177 12
西湖论剑说安全
|
人工智能 安全 大数据
云产业“奥斯卡”颁奖来袭!基因检测揭秘你到底能喝多少酒?厉害了我的云栖大会
汇聚行业顶尖力量,聚焦人工智能注入医疗新能量,探讨从制造到智造经济新动能;1场主论坛,37场分论坛,2天云生态大展,100+分享嘉宾,云栖大会深圳峰会,点燃你的技术热情! 报名参会还有机会获得全球领先基因检测产品免费体验资格,马上抢座!
7918 0