Topcoder SRM 499 div2 easy "SimpleGuess"
問題:http://www.topcoder.com/stat?c=problem_statement&pm=10763(要ログイン)
ヒントとしていくつかの数値が与えられる.この数値のどれかがx+yおよびx-yを表しており,ヒントから得られるxとyのうちx*yが最大となるものを求める.
全部試す.
コード
import java.util.*; public class SimpleGuess { public int getMaximum(int[] hints) { Arrays.sort(hints); int max = 0; for (int i = hints.length; i-- > 0;) { for (int x = hints[i]; x-- > 1;) { int y = hints[i] - x; if (Arrays.binarySearch(hints, x - y) >= 0) { max = Math.max(max, x * y); } } } return max; } }