1 条题解
-
0
由于我们输入的这个序列是无序的,而我们要把这些数字两两统一,于是我们就要先排序,这样才能使操作次数最少 我们接下来只需要累加两两相差的值,每次累加到
a[i+1]-a[i]
于是我们就能得到一下代码:for(int i=1;i<=n;i+=2)c+=a[i+1]-a[i];
最终输出c即可
#include<bits/stdc++.h> using namespace std; const int N=100001; int a[N]; int main() { int n; cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; sort(a+1,a+1+n); int c=0; for(int i=1;i<=n;i+=2)c+=a[i+1]-a[i]; cout<<c; }
- 1
信息
- ID
- 147
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 2
- 标签
- 递交数
- 25
- 已通过
- 21
- 上传者