Fairness [AtCoder Grand Contest 024 A]
操作が0回目のとき、すなわち何もしていないときの高・中・低の所持している値と 高-中 の値は、
・A, B, C(A-B)
です。1回目のときは、
・B+C, A+C, A+B(B-A+C-C = B-A)
ですね。同様に2回目は、
・2A+B+C, A+2B+C, A+B+2C(2A-A+B-2B+C-C = A-B)
です。以降、3回目は B-A 、4回目は A-B というふうに続いていきます。つまり、操作が偶数回目なら A-B 、操作が奇数回目なら B-A となっているんですね。
import java.util.*; class Main { static Scanner sc = new Scanner(System.in); public static void main(String[] args) { int a = sc.nextInt(), b = sc.nextInt(), c = sc.nextInt(); long k = sc.nextLong(); System.out.println(k%2==0? a-b : b-a); } }