N个精灵,每个精灵都有自己的初始技能值,每训练一次技能值加一。校长皮卡丘要求精灵们组队去打怪时必须两个精灵一队,并且队内两个精灵的技能值必须相等,这样才可以互相照应同时又不会拖累对方。皮卡丘校长想知道要将这N个精灵全部组队然后一起去打怪,它们一共所需最少的训练次数是多少?
输入格式:第一行一个正整数 N(2<=N<=100,并且保证N是偶数)。第二行输入 N 个正整数,表示每个精灵的初始技能值。(1<=技能值<=100)
输出格式:输出一个整数,为所需最少的训练次数
输入示例:6 \n 5 10 2 3 14 5
输出示例:5
#include <bits/stdc++.h>
using namespace std;
int main(){//排序后,两两差值相加即可
int n;cin>>n;int a[n];
for(int i=0;i<n;i++)cin>>a[i];
sort(a,a+n);int sum=0;
for(int i=0;i<n;i+=2)sum+=a[i+1]-a[i];
cout<<sum;return 0;
}

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



