描述
题解
排序后依次头尾相减累加,水题。
代码
#include <iostream>
#include <algorithm>
using namespace std;
const int MAXN = 1e4 + 10;
int P[MAXN];
int main(int argc, const char * argv[])
{
int N;
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> P[i];
}
sort(P, P + N);
long long sum = 0;
int flag = N - 1;
for (int i = 0; i < flag; i++, flag--)
{
sum += P[flag] - P[i];
}
std::cout << sum << '\n';
return 0;
}

本文解析了一道经典的ACM竞赛题目,通过简单的排序算法优化解题思路,实现了高效的求解过程。具体做法是对输入数据进行排序后,从两端开始分别取数并计算其差值的累积和。
563

被折叠的 条评论
为什么被折叠?



