#3884. 点数大赚

点数大赚

🐰😺🔫 兔猫信奥学院·加菲老师的“点数大赚”挑战 🔫😺🐰

夜幕降临,信奥学院街道外的房屋灯火通明,加菲老师对小兔和小猫说:“在这一排房屋中,每间房里都藏有若干点数。每次你可以选择任意一间房 x,获得其点数 x,但随之所有等于 x-1x+1 的房屋也会被销毁。开始时你点数为 0,问在不触发防御的前提下,一夜之间最多能获得多少点数?”


输入格式

第一行包含一个整数 m,表示房屋数量。
第二行包含 m 个整数 nums[0], nums[1], …, nums[m-1],用空格分隔,
其中 nums[i] 表示第 i 间房屋的点数。
  • 1m2×1041 \le m \le 2\times 10^4
  • 1nums[i]1041 \le nums[i] \le 10^4

输出格式

输出一个整数,表示能获取的最高点数。

样例 1

3
3 4 2
6
  • 解释:
    • 选择房屋点数为 4,获得 4 点,同时销毁所有点数为 3 和 5 的房屋(即销毁 3)。
    • 剩余可选房屋点数为 [2],再选择 2,获得 2 点。
    • 总点数 = 4+2=64 + 2 = 6

样例 2

6
2 2 3 3 3 4
9
  • 解释:
    • 点数统计:2→2 次共得 4 点;3→3 次共得 9 点;4→1 次共得 4 点。
    • 视作“房屋”序列 {2,3,4}\{2,3,4\} 的点数分别为 {4,9,4}\{4,9,4\}
    • 最优取法:选 3(得 9 点),销毁 2 和 4。
    • 总点数 = 99

🎓 加菲老师寄语:
本题是“打家劫舍”与“价值聚合”的结合,先汇总同值点数再做动态规划。掌握此技巧,面对种类聚合型最优决策问题将游刃有余。期待你们迎接更多挑战!