結果
| 問題 |
No.967 引き算をして門松列(その2)
|
| コンテスト | |
| ユーザー |
CuriousFairy315
|
| 提出日時 | 2020-01-13 20:42:38 |
| 言語 | Java (openjdk 23) |
| 結果 |
AC
|
| 実行時間 | 662 ms / 2,000 ms |
| コード長 | 1,729 bytes |
| コンパイル時間 | 2,391 ms |
| コンパイル使用メモリ | 77,288 KB |
| 実行使用メモリ | 48,672 KB |
| 最終ジャッジ日時 | 2024-12-21 16:34:37 |
| 合計ジャッジ時間 | 8,412 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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