贪心,不需要考虑太多

第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);
    }
}