当前位置:首页 > 题解目录 > 正文内容

【题解】滑翔翼

亿万年的星光3年前 (2022-01-22)题解目录2736

【题目描述】

小T和小K都是OIER,入选省队后有幸去苏州参加JSOI集训,训练之余,他们相约一起去苏州乐园玩。
苏州乐园里有一个非常热门的游乐项目叫双人滑翔翼。小T想和小K一起乘双人滑翔翼,但是排在他们前面的一大群人却为了搭配问题而争执不休,小T和小K便自告奋勇上前为他(她)们排扰解难。
排在小T和小K前面的一大群人中有N个男人和N个女人。本着“男女搭配,干活不累”的原则,他(她)们希望一男一女结成对子飞上天去。由于双人滑翔翼飞行的稳定性很大程度上决定于两侧是否平衡,所以两个人体重相差越小则组成的搭档也越好。
现在已知每个人的体重,你的任务就是将所有人结成N对并使各对的体重差的总和最小。一对的体重差定义为重的减轻的的值,此值一定大于等于0,譬如有一对人,男的体重为50,女的体重为55,则他(她)们的体重差为5,反过来如果男的体重为55,女的体重为50,则他(她)们的体重差仍然是5。

【输入描述】

第一行包含一个自然数N(1≤N≤1000),表示有N对人;
第2~N+1行:每行包含一个自然数,表示N个男人的体重;
第N+2~2N+1行:每行包含一个自然数,表示N个女人的体重。

【输出描述】

仅有一行包含一个整数,表示配对后N对男女的体重差的总和的最小值。

【样例输入】

4
2
8
5
5
1
4
10
7

【样例输出】

6

【题目分析】


参考答案

#include<bits/stdc++.h>
using namespace std;
int a[1000001],b[1000001];
bool cmp(int a,int b) {
	return a>b;
}
int main() {
	int n,ans=0;;
	cin>>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,cmp);
	sort(b,b+n,cmp);
	for(int i=0; i<n; i++) {
		ans+=abs(a[i]-b[i]);
	}
	cout<<ans;
	return 0;
}


扫描二维码推送至手机访问。

版权声明:本文由青少年编程知识记录发布,如需转载请注明出处。

分享给朋友:

相关文章

连词成句

【题目描述】有一天,毛毛上课的时候遇到了一个难题,老师让同学们把黑板上的单词连成一句话。已知连词的规则是:从待选词中选出正确的单词按照顺序输出,“正确的单词”表示除第一个单词外,其余单词都是小写字母,...

学生分组

【题目描述】有N组学生,给出初始时每组中的学生个数,再给出每组学生人数的上界R和下界L(L≤R),每次你可以在某组中选出一个学生把他安排到另外一组中,问最少要多少次才可以使N组学生的人数都在[L,R]...

【题解】移动路线

【题目描述】X桌子上有一个m行n列的方格矩阵,将每个方格用坐标表示,行坐标从下到上依次递增,列坐标从左至右依次递增,左下角方格的坐标为(1,1),则右上角方格的坐标为(m,n)。小明是个调皮的孩子,一...

猴子吃桃

【题目描述】猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。 第二天早上又将剩下的桃子吃掉一半,又多吃一个。以后每天早上都吃了前一天剩下的一半零一个。到第N天早上想再吃时...

【题解】最小新整数

4.最小新整数(smallest.cpp)【题目描述】假如:有一个十进制正整数n,每个数位上数字均不为0,并且0<n<1000000000。n的位数为m。先在从m位中删除k位(0<k...

【题解】最低通行费

【题目描述】一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而...