#2579. 最大质因数包包

最大质因数包包

题目描述

给定正整数 nnmm,从数字 11nn 中选择若干个数字,使得它们的最大质因数之和不超过 mm,求这些数字的和的最大值。

特别规定

  • 数字 11 的最大质因数为 11
  • 质数的最大质因数为其本身(如 55 的最大质因数为 55)。
  • 合数的最大质因数为其质因数分解中的最大质数(如 12=22×312 = 2^2 \times 3,最大质因数为 33)。

输入格式

输入一行包含两个整数 nnmm1n200001 \leq n \leq 200001m50001 \leq m \leq 5000)。

输出格式

输出一个整数,表示满足条件的数字和的最大值。

样例

样例输入

10 15

样例输出

37

样例解释:

数字 质因数分解 最大质因数
1 1
2 质数 2
3 3
4 2
5 质数 5
6 2×3 3
7 质数 7
8 2
9 3
10 2×5 5

最优组合是选择数字 ​4, 6, 8, 9, 10​,此时:

  • 最大质因数之和:2+3+2+3+5 = 15 ≤ 15
  • 数字之和:4+6+8+9+10 = 37

数据范围与提示

  • 数据范围
    • 40% 的数据:n1000n \leq 1000m500m \leq 500
    • 70% 的数据:n5000n \leq 5000m5000m \leq 5000
    • 100% 的数据:n20000n \leq 20000m5000m \leq 5000