P1019 配对

来源:互联网 发布:淘宝投诉卖家侮辱 编辑:程序博客网 时间:2024/04/25 14:46

背景

太原成成中学第2次模拟赛 第二道

描述

   给出2个序列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序列。 

输出格式

一个数,最大配对

测试样例1

输入


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。 



//============================================================================// Name        : peidui.cpp// Author      : judyge// Version     :// Copyright   : Your copyright notice// Description : Hello World in C++, Ansi-style//============================================================================#include <iostream>#include<algorithm>using namespace std;int main(){    int n;    cin>>n;    int a[n];    int b[n];        for(int i=0;i<n;i++)        cin>>a[i]>>b[i];        sort(a,a+n);        sort(b,b+n);        int cnt=0;        for(int i=0,j=n-1;i<n;i++,j--)        {            cnt+=a[i]-b[j]>0?a[i]-b[j]:b[j]-a[i];        }        cout<<cnt;    return 0;}


0 0