計算方ダイナミック企画_両替します


アルゴリズムの概要:
通貨システムがあります.n種の通貨があります.その額面はV 1、V 2、V 3….その中でV 1=1です.動的な計画アルゴリズムを設計して、最小の貨幣の数で額面のmに両替するお金を実現してください.
コードは以下の通りです
import java.util.Scanner;


public class Algorithm_2 {

	/**
	 * @param args
	 */
	private static final int MAX_M=20;
	private static final int MAX_N=100000;
	private static int[][] table = new int[MAX_N][MAX_M];
	private static int[] value = new int[MAX_N];
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.println("         :");
			int m = sc.nextInt();
			System.out.println("           ,      1:");
			
			for(int i=1;i<=m;i++)
				value[i]= sc.nextInt();
			System.out.println("          :");
			int n = sc.nextInt();
			
			for(int i=0;i<=n;i++)//   
				table[i][0]=0;
			for(int i=0;i<=m;i++)
				table[0][i]=0;
			
			for(int i=1;i<=n;i++){
				for(int j=1;j<=m;j++){
					if(value[j] == i)
						table[i][j]=1;
					else if(value[j]
アルゴリズムの時間複雑度:O(logn)