import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 // while (in.hasNextInt()) { // 注意 while 处理多个 case // int a = in.nextInt(); // int b = in.nextInt(); // System.out.println(a + b); // } String line = in.nextLine(); String[] strs = line.split(" "); int n = Integer.parseInt(strs[0]); int m = Integer.parseInt(strs[1]); int max = 0; Good[] goods = new Good[m + 1]; // 初始化goods for (int i = 1; i <= m; i++) { String str = in.nextLine(); String[] itemStr = str.split(" "); Good good = new Good(); int v = good.v = Integer.parseInt(itemStr[0]); int p = good.p = Integer.parseInt(itemStr[1]); int q = good.q = Integer.parseInt(itemStr[2]); goods[i] = good; } for (int i = 1; i <= m; i++) { Good good = goods[i]; int q = good.q; if ( q== 0) { good.main = true; } else if (goods[q].a1 == -1) { goods[q].a1 = i; } else { goods[q].a2 = i; } } int[][] dp = new int[m + 1][n / 10 + 1]; for (int i = 1; i <= m; i++) { int v = goods[i].v; int p = goods[i].p; int q = goods[i].q; boolean main = goods[i].main; int a1 = goods[i].a1; int a2 = goods[i].a2; int v1 = 0, v2 = 0, v3 = 0, vp = 0, vp1 = 0, vp2 = 0, vp3 = 0; vp = v * p; if (a1 != -1) { v1 = v + goods[a1].v; vp1 = v * p + goods[a1].v * goods[a1].p; } if (a2 != -1) { v2 = v + goods[a2].v; vp2 = v * p + goods[a2].v * goods[a2].p; } if (a1 != -1 && a2 != -1) { v3 = v + goods[a1].v + goods[a2].v; vp3 = v * p + goods[a1].v * goods[a1].p + goods[a2].v * goods[a2].p; } for (int j = 1; j <= n / 10; j++) { dp[i][j] = dp[i - 1][j]; if (!main) { continue; } if (v != 0 && v <= j * 10) { dp[i][j] = Math.max(dp[i][j], vp + dp[i - 1][j - v / 10]); } if (v1 != 0 && v1 <= j * 10) { dp[i][j] = Math.max(dp[i][j], vp1 + dp[i - 1][j - v1 / 10]); } if (v2 != 0 && v2 <= j * 10) { dp[i][j] = Math.max(dp[i][j], vp2 + dp[i - 1][j - v2 / 10]); } if (v3 != 0 && v3 <= j * 10) { dp[i][j] = Math.max(dp[i][j], vp3 + dp[i - 1][j - v3 / 10]); } } } System.out.print(dp[m][n / 10]); } } class Good { protected int v; protected int p; protected int q; protected boolean main = false; protected int a1 = -1; protected int a2 = -1; }