if
文を使ってもいいし、関数 max()
を使ってもいい
問題概要
秒を測れる砂時計がある。 g あって、1 秒間に 1 g の砂が落ちる。
砂時計の計測を始めてから、 秒間がたった。残っている砂は何 g でしょうか。
解法
基本的には引き算すればよい。つまり、 [g] が答えになりそうだ。
しかし、砂の量はマイナスにはならないので、 より小さくなったら 0 のままとなる。これを処理するためには
if
文を用いて のときは 0 と答える- 関数
max
を用いて、max(X - t, 0)
を答える
という方法がある。下には後者の解答例を示す。
#include <bits/stdc++.h> using namespace std; int main() { int X, t; cin >> X >> t; cout << max(X - t, 0) << endl; }