解题思路:一个正数排序
一个倒数排序
一一配对减
大的减小的
注意事项:
参考代码:
# include<iostream>
# include<vector>
# include<algorithm>
using namespace std;
int main()
{
int n;
cin >> n;
vector<int> a;
vector<int> b;
for (int i = 0; i < n; i++)
{
int q;
cin >> q;
a.push_back(q);
}
for (int i = 0; i < n; i++)
{
int q;
cin >> q;
b.push_back(q);
}
sort(a.begin(), a.end());
sort(b.begin(), b.end(), greater<int>());
int sum = 0;
for (vector<int>::iterator it = a.begin(), itb = b.begin(); it != a.end(), itb != b.end(); it++, itb++)
{
if (*it > *itb)
{
sum += *it - *itb;
}
else
{
sum += *itb - *it;
}
}
cout << sum << endl;
return 0;
}
0.0分
1 人评分