第一题 ``` package main; import java.util.*; public class Main{ public static void main(String args[]){ Scanner in = new Scanner(System.in); int T = in.nextInt(); while (T-->0){ int n = in.nextInt(); int[] nums = new int[n]; for (int i = 0; i < n; i++) { nums[i] = in.nextInt(); } int res = maxScore(nums); System.out.println(res); } } public static int maxScore(int[] nums){ int len = nums.length; int[] dp = new int[len+1]; dp[0] = 0; dp[1] = nums[0]; for (int i = 2; i <= len; i++) { if(i == 2){ dp[i] = Math.max(dp[i-1]+nums[i-1]/2,dp[i-2]); } else { dp[i] = Math.max(dp[i-1]+nums[i-1]/2,dp[i-2]+nums[i-1]); } } return dp[len]; } } ```
点赞 1

相关推荐

牛客网
牛客网在线编程
牛客网题解
牛客企业服务