[http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1153:title=問題文
]
問題文のままただそれを実行すると冗長になって読みにくいコードができてしまう。
このコードは自分が行き詰まって他の人の回答を参考にしました。。
import java.util.*; public class AOJ1153 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while(true){ int n = sc.nextInt(); int m = sc.nextInt(); int sumTaro = 0; int sumHanako = 0; int[] taro = new int[n]; int[] hanako = new int[m]; if(n==0&&m==0) break; for(int i = 0;i<n;i++){ taro[i] = sc.nextInt(); sumTaro += taro[i]; } for(int i = 0;i<m;i++){ hanako[i] = sc.nextInt(); sumHanako += hanako[i]; } int changeTaro = -1; int changeHanako = -1; for(int i =0;i < n;i++){ for(int j = 0; j<m;j++){ if(sumTaro-taro[i]+hanako[j] == sumHanako-hanako[j]+taro[i]){ if(changeTaro == -1){ changeTaro = taro[i]; changeHanako = hanako[j]; }else if(taro[i] + hanako[j]<changeHanako + changeTaro){ changeTaro = taro[i]; changeHanako = hanako[j]; } } } } if(changeTaro ==-1){ System.out.println(-1); }else{ System.out.println(changeTaro+" "+changeHanako); } } } }