题解 CF347A 【Difference Row】

大大大大大大大水题

略加思考一下就行了

这个式子不要看它很复杂,把他去一下括号就知道了

(x[1]-x[2])+(x[2]-x[3])+….+(x[n-1]-x[n])

=x[1]-x[2]+x[2]-x[3]+x[3]-……+x[n-1]-x[n](然后抵消)

=x[1]-x[n]

所以,我们只要从小到大排一遍序,然后交换首项和末项(刚刚化简过了,看出中间怎么加减都是0,不会改变。要结果最大,就要拿最大的减最小的)

直接上代码:

#include <bits/stdc++.h>
using namespace std;
int a[10005];   //开个数组
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    sort(a+1,a+n+1);       //从小到大排序,注意,sort是左闭右开
    cout<<a[n]<<" ";    //输出最大的
    for(int i=2;i<n;i++)    //输出中间的数
    {
        cout<<a[i]<<" ";
    }
    cout<<a[1]<<'\n';   //输出最小的
    return 0;   //结束
}

 上一篇
Python初体验 Python初体验
关于Python: 注:以下说的都是py 3.7.7 优雅、明确、简单 有一个更棒棒的,就是自带高精但是运行时间会久一点 运行程序:在终端中输入python ***.py(注:运行时不要切换到py交互模式) 或者,直接在py交互界面写程序
2020-04-28
下一篇 
题解 CF734B 【Anton and Digits】 题解 CF734B 【Anton and Digits】
题目分析:这题的题目可能有点难理解,其实就是给你k2个2,k3个3,k5个5,k6个6,让你把这些数组成256和32,但是组成的256和32的个数不能超过题目里的样例,然后要求组成的数的和最大 (可能还是不能理解,模拟一下 5个2,1个
2020-04-14
  目录