1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

题面描述

给定一个长度为nnn的数组a=[a1,a2,…,an]a=[a_1,a_2,\dots,a_n]a=[a1​,a2​,…,an​],定义数组的权值为所有元素之和。Tk提出“超级重排”流程:

  • 将所有元素的十进制表示按原序拼接成一个字符串,等价于:把每个aja_jaj​的每一位数字全部收集。
  • 记录每个aja_jaj​的位数,记为len⁡(aj)\operatorname{len}(a_j)len(aj​)。
  • 你必须用收集到的所有数位,构造nnn个新数字,且第jjj个新数字的位数必须与原始的aja_jaj​相同(即len⁡\operatorname{len}len不变)。
  • 目标:使这nnn个新数字的总和最大。

P3624.第1题-超级重排

    1000ms Tried: 80 Accepted: 37 Difficulty: 4 所属公司 : 小红书
    算法与标签>贪心算法

题目内容

Tk 有一个长度为 nnn 的数组 (a1,a2,…,an)(a_1,a_2,…,a_n)(a1​,a2​,…,an​)。

Tk 定义这个数的权值为∑i=1nai\sum^n_{i=1}a_i∑i=1n​ai​ 。

为了使数组的权值最大,Tk 提出如下超级重排流程:

  • 将所有元素的十进制表示按原序拼接成一个字符串;

  • 对该字符串中的所有字符进行重新排列;

  • 按照原元素的位数切分字符串,恢复为 nnn 个新数字。

或者换句话说,首先,收集所有数字的每一个单独的数位;其次,对于每一个原始数字 aia_iai​ ,记录下它的位数,你必须用收集到的所有数位来构造 nnn 个新的数字,其中第 jjj 个新数字的位数必须与原始数组中第 jjj 个数字 aja_jaj​ 的位数相同。你的目标是找到一种分配这些数位的方式,使得这 nnn 个新数字的总和达到最大。

输入描述

第一行输入一个整数 n(1≤n≤2∗105)n(1≤n≤2*10^5)n(1≤n≤2∗105),表示数组长度。

第二行输入 nnn 个整数 a1,a2,…,an(1≤ai≤109)a_1,a_2,…,a_n (1≤a_i≤10^9)a1​,a2​,…,an​(1≤ai​≤109) 表示数组 aaa ,题目保证每个元素的十进制表示中不含字符 000

输出描述

输出一个整数,表示经过超级重排后数组的最大权值

样例1

输入

2
36 15

输出

114

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 121ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?