また、関数 max()
が使える案件。
問題概要
横の長さが であるカーテンレールに、横の長さが であるカーテン 2 枚を設置する。
カーテンレールのうち、カーテンが設置されていない部分の長さの最小値を求めよ。
解法
2 枚のカーテンを重ならないように設置すると、カーテンが設置されていない部分の長さは
となる。これより小さくすることはできない。
また、この値が負になる場合には、カーテンが設置されていない部分の長さは 0 と考える必要がある。
まとめると、max(A - B * 2, 0)
が答えとなる。if
文を用いて回答してもよい。
#include <bits/stdc++.h> using namespace std; int main() { int A, B; cin >> A >> B; cout << max(A - B * 2, 0) << endl; }