static int runTestCase(int casenum__) {
		switch (casenum__) {
		case 0: {
			int[] dread = { 8, 5, 10 };
			int[] price = { 1, 1, 2 };
			int expected__ = 2;

			return verifyCase(casenum__, expected__,
					new MonstersValley2().minimumPrice(dread, price));
		}
		case 1: {
			int[] dread = { 1, 2, 4, 1000000000 };
			int[] price = { 1, 1, 1, 2 };
			int expected__ = 5;

			return verifyCase(casenum__, expected__,
					new MonstersValley2().minimumPrice(dread, price));
		}
		case 2: {
			int[] dread = { 200, 107, 105, 206, 307, 400 };
			int[] price = { 1, 2, 1, 1, 1, 2 };
			int expected__ = 2;

			return verifyCase(casenum__, expected__,
					new MonstersValley2().minimumPrice(dread, price));
		}
		case 3: {
			int[] dread = { 5216, 12512, 613, 1256, 66, 17202, 30000, 23512,
					2125, 33333 };
			int[] price = { 2, 2, 1, 1, 1, 1, 2, 1, 2, 1 };
			int expected__ = 5;

			return verifyCase(casenum__, expected__,
					new MonstersValley2().minimumPrice(dread, price));
		}

		// custom cases

		/*
		 * case 4: { int[] dread = ; int[] price = ; int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * MonstersValley2().minimumPrice(dread, price)); }
		 */
		/*
		 * case 5: { int[] dread = ; int[] price = ; int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * MonstersValley2().minimumPrice(dread, price)); }
		 */
		/*
		 * case 6: { int[] dread = ; int[] price = ; int expected__ = ;
		 * 
		 * return verifyCase(casenum__, expected__, new
		 * MonstersValley2().minimumPrice(dread, price)); }
		 */
		default:
			return -1;
		}
	}