public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int a[][] = new int[N][3]; int maxday=0; for(int i=0;i<N;i++){ a[i][0] = sc.nextInt(); a[i][1] = sc.nextInt(); a[i][2] = sc.nextInt(); if(maxday<a[i][2]) maxday=a[i][2]; } int dp[][] = new int[N+1][maxday+1]; for(int i=1;i<=N;i++){ for(int j=1;j<=maxday;j++){ if(j<a[i-1][1]||j>a[i-1][2]){ dp[i][j] = dp[i-1][j]; } else{ dp[i][j] = Math.max(dp[i-1][j], dp[i-1][j-a[i-1][1]]+a[i-1][0]); } } } System.out.println(dp[N][maxday]); } 我写的第三题,但不会js不知道对不对
点赞 2

相关推荐

牛客网
牛客企业服务