きっちり整理しよう! この手の問題は、混乱したらグラフをかくといい!
問題概要
高橋君は 歳の誕生日を迎えて、身長は
cm となった。
- 高橋君は
歳までは毎年
cm ずつ伸びた
- 高橋君は
歳以降は身長が変化しなかった
高橋君の 歳のときの身長は何 cm でしょうか。
制約
考えたこと
この手の問題は頭が混乱するのでグラフを描こう!!! 次の図のように整理できる。

このように整理したとき、まずは 0 歳のときの身長( とする)を求めるとよさそうである。毎年
cm 伸びて、
歳で
cm なので、
と求められる。
歳の身長
ここまで来れば簡単だ。
のとき:
cm から、毎年
cm ずつ、
年伸びるので、
cm
のとき:
cm
と求められる。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N, M, X, T, D; cin >> N >> M >> X >> T >> D; int B = T - D * X; if (M <= X) cout << B + D * M << endl; else cout << T << endl; }