結果
| 問題 | No.281 門松と魔法(1) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-06-27 17:36:20 |
| 言語 | D (dmd 2.112.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 678 bytes |
| 記録 | |
| コンパイル時間 | 673 ms |
| コンパイル使用メモリ | 172,664 KB |
| 実行使用メモリ | 15,872 KB |
| 最終ジャッジ日時 | 2026-06-27 17:36:42 |
| 合計ジャッジ時間 | 5,507 ms |
|
ジャッジサーバーID (参考情報) |
judge1_1 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | TLE * 1 -- * 56 |
ソースコード
module main;
import std;
void main()
{
// 入力
int d = readln.chomp.to!int;
int H1 = readln.chomp.to!int;
int H2 = readln.chomp.to!int;
int H3 = readln.chomp.to!int;
// 答えの計算と出力
if (H2 == 0 && (H1 == 0 || H3 == 0)) {
writeln(-1);
return;
}
// H2を一番高くする場合
int ans1 = 0, h1 = H1, h2 = H2, h3 = H3;
while (h1 >= h2) {
h1 = max(0, h1 - d);
ans1++;
}
while (h3 >= h2) {
h3 = max(0, h3 - d);
ans1++;
}
// H2を一番低くする場合
int ans2 = 0;
h1 = H1, h2 = H2, h3 = H3;
while (h1 <= h2) {
h2 = max(0, h2 - d);
ans2++;
}
while (H3 <= H2) {
h2 = max(0, h2 - d);
ans2++;
}
writeln(min(ans1, ans2));
}