贪心,不需要考虑太多
第i时选择红色,或使用红色合成蓝色,取最小。
不需要考虑前面买了红色后面可以接着用,按题目意思是每种只能使用一次。
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); int[] a=new int[n]; for(int i=0;i<n;i++){ a[i]=in.nextInt(); } long result=0; for(int i=0;i<n;i++){ int b=in.nextInt(); int c=in.nextInt(); result+=Math.min(a[i],a[b-1]+a[c-1]); } System.out.println(result); } }