1. 题目来源
链接:3580. 整数配对
2. 题目解析
很容易能猜出来结论,排序后,临近的两个数构成数对。关键在于贪心证明。
时间复杂度: O ( n l o g n ) O(nlogn) O(nlogn)
空间复杂度: O ( n ) O(n) O(n)
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
int n;
int a[N];
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i ++ ) scanf("%d", &a[i]);
sort(a + 1, a + 1 + n);
int res = 0;
for (int i = 2; i <= n; i += 2) res += a[i] - a[i - 1];
printf("%d\n", res);
return 0;
}