Official
A - Robot Balance Editorial
by
A - Robot Balance Editorial
by
MMNMM
初心者の方へ
- AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
- また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
この問題は、以下のような処理が実装できれば解くことができます。
- すでに頭の重さが体の重さ以下なら、\(0\) を出力する。
- そうでなければ、\(H-B\) を出力する。
if 文を用いたり、少し式変形をして max 関数などを用いることでこの処理を実装することができます。
実装例は以下のようになります。
if 文を使う実装例
#include <iostream>
using namespace std;
int main() {
int H, B;
cin >> H >> B;
if (H <= B) { // すでに頭の重さが体の重さ以下なら
cout << 0 << endl; // 0 を出力する
} else { // そうでなければ、
cout << H - B << endl; // H - B を出力する
}
return 0;
}
H, B = map(int, input().split())
if H <= B: # すでに頭の重さが体の重さ以下なら
print(0) # 0 を出力する
else: # そうでなければ、
print(H - B) # H - B を出力する
max 関数を使う実装例
上記の処理は、
- \(H\le B\) なら、\(B-B\) を出力する。
- そうでなければ、\(H-B\) を出力する。
と言い換えられます。 これは、
- \(\max\lbrace H,B\rbrace-B\) を出力する。
と変形することができます。 これを実装することでこの問題を解くことができます。
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int H, B;
cin >> H >> B;
cout << max(H, B) - B << endl;
return 0;
}
H, B = map(int, input().split())
print(max(H, B) - B)
posted:
last update:
