
::::error[50分评测信息]
半江瑟瑟 半江红(点我)
::::
::::error[50分代码 以及 思路]
:::info[思路]
大数尽可能往两端,小数跟在大一点的数后面
呃……好像就这
a---b---c---b---a
c与c之间的距离:0(这个只有一个)
b:2
a:4
然后就有了代码里的公式
a---b---b---a
b:1
a:3
于是又有了公式
:::
#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a,b;
    cin >> a >> b;//输入
    int n[b];
    for(int i = 0;i < b;i++)
    {
        cin >> n[i];//输入
    }
    sort(n,n + b);//排序
    long long p = b,cnt = 0;//保险开longlong
    if(a % 2 == 0)//偶数
    {
        for(int i = a / 2;i > 0;i--)//往中间看
        {
            if(p > 0)//还有小一点的数
            {
                p--;//那就-(刚才是小到大排序的,现在得反过来看)
            }
            cnt += n[p] *(i * 2 - 1);//间隔为i*2-1个
        }
    }
    else//奇数
    {
        for(int i = a / 2;i > 0;i--)//奇数(默认向下取整)
        {
            if(p > 0)
            {
                p--;
            }
            cnt += n[p] * i * 2;//我把括号省略了
        }
    }
    cout << cnt;//输出
    return 1;//每日防抄1/1
}
:::: ::::info 据说前半部分是 n<k ::::