Official

A - 信号機/Trafic Light Editorial by Nyaan


問題文を整理すると次のようになります。

  • \(X + Z \geq Y\) の場合、\(Z + X\)\(Y\) 以上なので 問題文の「ただし」以降の内容は無視できて、ボタンを押して \(X\) 秒後, すなわち 最後に信号が赤に変わってから \(Z + X\) 秒後に信号が青に変わる。
  • \(X + Z \lt Y\) の場合、\(Z + X\)\(Y\) 未満なので、\(X\) 秒後に信号が青になることはなく、代わりに最後に信号が赤に変わってから \(Y\) 秒後に青になる。

このような観察から、答えは \( \max(X + Z, Y)\) 秒後であるとわかるので、この値を出力すればよいです。これは max 関数 や if 文を利用した場合分けを行えば実装することができます。

  • 実装例(python)
X, Y, Z = map(int, input().split())
print(max(X + Z, Y))

posted:
last update: