//排序 相邻相减 相加
#include <iostream>
#include <algorithm>
using namespace std;
//经过OJ测试 ->数字最大上限为10^5 1.变量可以定义为int 2.数组最好开辟100005
bool cmp(long long int a,long long int b)
{
//升序排列,如果改为return a>b,则为降序
return a>b;
}
int main()
{
long long int n = 0;
scanf("%lld", &n);
long long int num = n;
long long int arr[100005] = {};
int i = 0;
while (n-- != 0) {
long long int a = 0;
scanf("%lld", &a);
arr[i] = a;
i++;
}
sort(arr, arr+num, cmp);
i = 0;
n = num / 2 + 1;
long long int sum = 0;
while (n-- != 0) {
if ((i + 1) > num) sum += arr[i]-0;
else sum += arr[i]-arr[i+1];
i += 2;
}
cout << sum;
}
【题】抽纸牌游戏 算相差
最新推荐文章于 2022-06-02 08:36:52 发布