結果
| 問題 | No.967 引き算をして門松列(その2) |
| コンテスト | |
| ユーザー |
CuriousFairy315
|
| 提出日時 | 2020-01-13 20:42:38 |
| 言語 | Java (openjdk 25.0.2) |
| 結果 |
AC
|
| 実行時間 | 342 ms / 2,000 ms |
| コード長 | 1,729 bytes |
| 記録 | |
| コンパイル時間 | 1,590 ms |
| コンパイル使用メモリ | 82,640 KB |
| 実行使用メモリ | 52,712 KB |
| 最終ジャッジ日時 | 2026-05-28 08:04:44 |
| 合計ジャッジ時間 | 4,956 ms |
|
ジャッジサーバーID (参考情報) |
judge3_1 / judge2_1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 10 |
ソースコード
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();
long X = sc.nextInt(), Y = sc.nextInt(), Z = sc.nextInt();
int a, b, c;
long INF = 2_000_000_000_000_000_000L;
long 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, X * (A - a) + Y * (B - b) + Z * (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, X * (A - a) + Y * (B - b) + Z * (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, X * (A - a) + Y * (B - b) + Z * (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, X * (A - a) + Y * (B - b) + Z * (C - c));
}
if (cost == INF) System.out.println(-1);
else System.out.println(cost);
}
}
}
}
CuriousFairy315