一只小菜鸟_L 2024-03-19 11:08 采纳率: 0%
浏览 5

c++相亲聚会疑问,相关知识点数组。

题目描述
小明举办了一场相亲聚会,聚合在小礼堂举行,聚合吸引了很多男孩和女孩。现在有 n 个男孩报名参加。一开始,n 个男孩站成一排,一个接一个地走上舞台。然而,小明突然知道,每个男孩都有自己的小情绪,如果男孩是第 k 个上台的,他的坏情绪将是 (k−1)×D,D 是小男孩自带的情绪系数,因为他必须等待 k-1 人。幸运的是,小礼堂里有一间暗室,所以小明可以暂时让男孩进入暗室,让他后面的男孩在他前面上台。因为暗室很窄,最先进入暗室的男孩必须最后离开。小明想改变暗室里男孩们的顺序,以使坏情绪的总量是最少的。你能help小明吗?

输入输出格式
输入格式 第一行有一个整数 n,表示男孩的数量; 第二行有 n 个整数 D,表示各男孩的情绪系数,每个整数用一个空格隔开。 输出格式 针对输入,打印出最少的坏情绪总量。

输入输出样例1
输入 5 1 2 3 4 5 输出 20

输入输出样例2
输入 5 5 4 3 2 2 输出 24

说明提示
0<n≤100,0≤D≤100

我的代码

#include <iostream>
#include <string>
#include<algorithm>
using namespace std;

int main(){
    int n;
    cin>>n;
    int D[n];
    for(int i=0;i<n;i++){
            cin>>D[i];
        }

    sort(D,D+n);//升序排序
    int sum=0;
    int a=0;
    for(int i=n-1;i>=0;i--)
    {  
        sum=sum+D[i]*a;
        a++;    
    }
    cout<<sum;  
    return 0;

}

测评没有通过,五个测试集通过了两。

  • 写回答

3条回答 默认 最新

  • 码农阿豪@新空间代码工作室 Java领域优质创作者 2024-03-19 11:08
    关注
    让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
    问题分析: 题目需要对男孩的顺序进行调整,以使坏情绪的总量是最少的。考虑该问题的贪心策略,我们可以按照情绪系数升序排序,然后按照这个顺序让男孩们上场,这样每个男孩的情绪系数乘上他前面的男孩数量就是他的坏情绪总量。代码实现比较简单,按照上述思路直接写出即可。 代码示例: C++ 代码
    评论

报告相同问题?

问题事件

  • 创建了问题 3月19日

悬赏问题

  • ¥20 代码:Python随机森林反演生物量数据处理问题
  • ¥50 微信野豹球杆小程序数据
  • ¥15 Linux系统的命令行窗口回车变成了换行,无法执行命令了
  • ¥15 vb6.0调用ImageMagick进行图片转换问题
  • ¥15 安卓组件化工程引入Arouter报错there's no route matched path[/login/LoginActivity,如何解决?
  • ¥50 如何进行点云姿态调整优化
  • ¥20 关于c++的问题 如何用qt完成
  • ¥15 台达变频器MS300与伺服驱动器B3系列的抱闸与电路设计如何实现
  • ¥20 C++通过HICON获取argb像素数组
  • ¥15 如何利用支持向量机提高分类器正确率和筛选理想分类器