Advertisement

蓝桥杯小朋友排成队列

阅读量:

在线评测系统地址: 历届试题 小朋友排队
可参考的博文资源:蓝桥杯 历届试题 小朋友排队

问题描述

有n名儿童排成一行,现在需要将他们按照身高由矮到高的顺序重新排列,但每次只能交换相邻的两位儿童的位置。每位儿童都具有一个不高兴值,初始时所有儿童的不高兴值均为0。若某位儿童首次被要求交换位置,则其不高兴值增加1;若第二次被要求交换,则其不高兴值增加2(此时总不高兴值为3),依此类推。每当某位儿童第k次被要求交换时,其不高兴值将增加k。请问,在完成所有儿童按身高从矮到高排列的过程中,如何使所有儿童的不高兴值之和达到最小?若存在身高相同的儿童,则他们的相对位置可以任意安排。

输入格式

输入数据的第一行给出一个整数n,用于表示参与的小朋友总人数。
紧接着的第二行则列出n个整数,依次为H1、H2至Hn,这些数值分别对应各个小朋友的具体身高情况。

输出格式

输出一行数值,该数值为所有小朋友不高兴程度总和的最小可能值。

样例输入解析

复制代码
    3
    3 2 1
    
      
      
    

全部评论 (0)

还没有任何评论哟~