xindoo is
always here

codeforces 347A – Difference Row


给你一个序列,让你求(x1 - x2) + (x2 - x3) + … + (xn - 1 - xn).值最大的一个序列,我们化简一下公式就会发现(x1 - x2) + (x2 - x3) + … + (xn - 1 - xn).
= x1 – xn, 也就是说只有第一个和最后一个是确定的,其他的随便了!  也不是了, 还要让你按字典序最小的排列,也就是说其他的是按飞递减序排列的,简单的一次排序就OK了。

//2013-09-21-09.07
#include <stdio.h>
#include <algorithm>

using namespace std;

int a[120];

bool cmp(int x, int y)
{
    return x < y;
}

int main()
{
    int n;
    while (scanf("%d", &n) != EOF)
    {
        for (int i = 1; i <= n; i++)
        {
            scanf("%d", &a[i]);
        }
        sort(a+1, a+n+1, cmp);
        swap(a[1], a[n]);
        for (int i = 1; i < n; i++)
            printf("%d ", a[i]);
        printf("%d\n", a[n]);
    }
    return 0;
}



打赏
未经允许不得转载:XINDOO » codeforces 347A – Difference Row
分享到: 更多 (0)

评论 抢沙发

xindoo

联系我联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏