結果
| 問題 |
No.966 引き算をして門松列(その1)
|
| コンテスト | |
| ユーザー |
CuriousFairy315
|
| 提出日時 | 2020-01-13 20:39:58 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 493 ms / 2,000 ms |
| コード長 | 1,591 bytes |
| コンパイル時間 | 2,707 ms |
| コンパイル使用メモリ | 77,548 KB |
| 実行使用メモリ | 59,300 KB |
| 最終ジャッジ日時 | 2024-12-21 16:31:01 |
| 合計ジャッジ時間 | 4,465 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 5 |
ソースコード
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
new Main();
}
public Main() {
try (Scanner sc = new Scanner(System.in)) {
int T = sc.nextInt();
while((T--) > 0) {
int A = sc.nextInt(), B = sc.nextInt(), C = sc.nextInt();
int a, b, c;
int INF = 2_000_000_000;
int cost = INF;
if (C > 1 && B > 2) { // 1. A<C<B
b = B;
c = Math.min(b - 1, C);
a = Math.min(c - 1, A);
cost = Math.min(cost, (A - a) + (B - b) + (C - c));
}
if (A > 1 && B > 2) { // 2. C<A<B
b = B;
a = Math.min(b - 1, A);
c = Math.min(a - 1, C);
cost = Math.min(cost, (A - a) + (B - b) + (C - c));
}
if (A > 1 && C > 2) { // 3. B<A<C
c = C;
a = Math.min(c - 1, A);
b = Math.min(a - 1, B);
cost = Math.min(cost, (A - a) + (B - b) + (C - c));
}
if (C > 1 && A > 2) { // 4. B<C<A
a = A;
c = Math.min(a - 1, C);
b = Math.min(c - 1, B);
cost = Math.min(cost, (A - a) + (B - b) + (C - c));
}
if (cost == INF) System.out.println(-1);
else System.out.println(cost);
}
}
}
}
CuriousFairy315