/* 集合:前i个数组中选择一些数 并且 这些数的和必须是k的倍数的方案 属性:求最大 状态定义:dp[i][j]表示前i个数中,选择一些数的和对k取余为j 状态转移:dp[i][j] = max(dp[i-1][j], dp[i-1][(j+nums[i])%k]+nums[i]) */ import java.util.Scanner; import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in)...