結果

問題 No.966 引き算をして門松列(その1)
ユーザー ks2mks2m
提出日時 2020-01-13 21:15:43
言語 Java21
(openjdk 21)
結果
WA  
実行時間 -
コード長 1,923 bytes
コンパイル時間 2,062 ms
コンパイル使用メモリ 74,152 KB
実行使用メモリ 58,084 KB
最終ジャッジ日時 2023-08-24 13:57:55
合計ジャッジ時間 3,615 ms
ジャッジサーバーID
(参考情報)
judge11 / judge12
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 41 ms
49,264 KB
testcase_01 AC 41 ms
49,360 KB
testcase_02 AC 41 ms
49,264 KB
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
testcase_06 AC 247 ms
56,092 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Main {
	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int t = Integer.parseInt(br.readLine());
		for (int i = 0; i < t; i++) {
			String[] sa = br.readLine().split(" ");
			long a = Integer.parseInt(sa[0]);
			long b = Integer.parseInt(sa[1]);
			long c = Integer.parseInt(sa[2]);
			long ans = Long.MAX_VALUE;
			if (b > a) {
				if (b == c) {
					ans = 1;
					c--;
					if (a == c) {
						if (a == 1) {
							ans = -1;
						} else {
							ans++;
						}
					}
				} else if (b > c) {
					if (a == c) {
						if (a == 1) {
							ans = -1;
						} else {
							ans = 1;
						}
					} else {
						ans = 0;
					}
				} else {
					if (c - b < b - a || a == 1) {
						ans = c - b + 1;
						c = b - 1;
						if (a == c) {
							if (a == 1) {
								ans = -1;
							} else {
								ans++;
							}
						}
					} else {
						ans = b - a + 1;
					}
				}
			} else if (b == a) {
				if (b == c) {
					if (a <= 2) {
						ans = -1;
					} else {
						ans = 3;
					}
				} else if (b == c + 1) {
					if (c == 1) {
						ans = -1;
					} else {
						ans = 2;
					}
				} else {
					if (a == 1) {
						ans = -1;
					} else {
						ans = 1;
					}
				}
			} else {
				// a > b
				if (b == c) {
					if (c == 1) {
						ans = -1;
					} else {
						ans = 1;
					}
				} else if (b > c) {
					if (a - b < b - c || c == 1) {
						ans = a - b + 1;
						a = b - 1;
						if (a == c) {
							if (c == 1) {
								ans = -1;
							} else {
								ans++;
							}
						}
					} else {
						ans = b - c + 1;
					}
				} else {
					if (a == c) {
						if (a == 2 && b == 1) {
							ans = -1;
						} else {
							ans = 1;
						}
					} else {
						ans = 0;
					}
				}
			}
			System.out.println(ans);
		}
		br.close();
	}
}
0