关注
元素分裂第三题,通过率60
let n = read_line() - 0;
let nums = read_line().split(" ").map((item) => parseInt(item));
nums.sort((a,b) => a-b);
let max = Math.max(...nums);
let dp = new Array(Math.pow(10,5)).fill(Math.pow(10,6));
dp[0] = -1;
dp[1] = 0;
dp[2] = 1;
dp[3] = 2;
dp[4] = 3;
for (let i = 5;i <= max;i++) {
let arr = getYinZi(i);
for (let j = 1;j < arr.length - 1;j++) {
dp[i] = Math.min(dp[i],1 + dp[arr[j]] + dp[i / arr[j]]);
}
dp[i] = Math.min(dp[i] ,dp[i - 1] + 1);
}
let res = 0;
for (let item of nums) {
res += dp[item];
}
console.log(res);
function getYinZi(num) {
let res = new Set();
for (let i = 1;i * i <= num;i++) {
if(num % i == 0) {
res.add(i);
res.add(num / i);
}
}
let arr = Array.from(res);
arr.sort((a,b) => a-b);
return arr;
}
查看原帖
1 评论
相关推荐
11-19 17:27
门头沟学院 嵌入式软件开发 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 实习简历求拷打 #
2259次浏览 45人参与
# 考研失败就一定是坏事吗? #
197584次浏览 1241人参与
# 秋招被挂春招仍然能投的公司 #
4280次浏览 72人参与
# mt对你说过最有启发的一句话 #
25770次浏览 331人参与
# 今年秋招你收到了多少封邮件? #
15354次浏览 207人参与
# 摸鱼被leader发现了怎么办 #
92742次浏览 601人参与
# 秋招特别不鸣谢 #
11862次浏览 155人参与
# 巨人网络工作体验 #
70932次浏览 502人参与
# 什么是优秀的实习经历 #
5507次浏览 176人参与
# 工作中遇到的歹人 #
21751次浏览 260人参与
# 选实习,你更看重哪方面? #
9545次浏览 187人参与
# 工作后,你落下了哪些病根 #
9807次浏览 167人参与
# 职场捅娄子大赛 #
436453次浏览 4175人参与
# 机械/制造每日一题 #
79868次浏览 1409人参与
# 被上班搭子“传染”了哪些习惯 #
4061次浏览 78人参与
# 找工作有哪些冷知识 #
203646次浏览 2596人参与
# 2025,我想...... #
80494次浏览 640人参与
# 招聘要求与实际实习内容不符怎么办 #
143092次浏览 862人参与
# 打工人的精神状态 #
122904次浏览 1428人参与
# 工作后明白的那些道理 #
44190次浏览 682人参与



