《P17010 [GESP202606 五级] 排排坐》

题目描述

老师正在和小朋友们分糖果。

小朋友们先在自己的手上写一个数字,然后坐成一排。

老师分发糖果的规则是:每个小朋友获得自己以及左侧所有小朋友的手上数字之和个糖果。

现在小朋友们都已经在自己手上写上了数字。

请帮小朋友们安排合适的座位顺序,使得小朋友们分到的糖果总量最大,输出这个最大值。

输入格式

输入 2 行,

第一行为一个正整数 n,表示小朋友的个数;

第二行为 n 个正整数 a1​,a2​,⋯,an​,表示小朋友们手上的数字,整数之间以空格分隔。

输出格式

输出一个整数,表示小朋友们可能分到的最大糖果总数量。

输入输出样例

输入 #1复制

复制代码
5
7 5 8 9 3

输出 #1复制

复制代码
111

说明/提示

样例解释

小朋友安排座位后从左向右每人手上数字依次是:9,8,7,5,3。

这时可以得到最多的糖果:(9)+(9+8)+(9+8+7)+(9+8+7+5)+(9+8+7+5+3)=111。

数据范围

1≤n≤1000,1≤ai​≤1000。

代码实现:

cpp 复制代码
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
    int n;
    cin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    sort(a.rbegin(), a.rend());
    long long ans = 0;
    int coeff = n;
    for (int num : a)
    {
        ans += 1LL * num * coeff;
        coeff--;
    }
    cout << ans << '\n';
    return 0;
}
相关推荐
va学弟6 小时前
LeetCode 热题 100 题解(1):哈希
python·算法·leetcode·哈希算法
程序员老陆6 小时前
使用Qt+大华设备SDK预览大华摄像机视频
qt·算法·音视频·视频监控
罗超驿6 小时前
9.优先级队列与堆:从底层原理到实战应用的完整指南
数据结构·算法
AI科技星7 小时前
光速螺旋时空曲率挠率拓扑统一场论——四大力全域闭环求导、精算验证与第一性原理完备证明
线性代数·算法·决策树·机器学习·常温超导·ai科技星
牧以南歌〆8 小时前
数据结构<三>单循环链表
c语言·数据结构·算法·链表
liuzhijie-06148 小时前
Codeforces 2245 D2 / E / F 题解
算法
薛定e的猫咪8 小时前
在 vibe coding开发项目过程中使用过的命令和概念整理
人工智能·学习·算法·开源
listening7778 小时前
《从算法到落地:基于HarmonyOS API 23的端侧图像推理实战》
算法·华为·harmonyos
Tisfy8 小时前
LeetCode 1979.找出数组的最大公约数:模拟(附手动gcd)
java·数学·算法·leetcode·题解·最大公约数