きっちり整理しよう! この手の問題は、混乱したらグラフをかくといい!
問題概要
高橋君は 歳の誕生日を迎えて、身長は 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; }