実行時間制限: 2 sec / メモリ制限: 1024 MB / Difficulty: 28
問題概要
整数 が与えられる。以下の条件を満たす整数
は何通りあるか求めよ。
- 条件 :
を適切に並び替えて等差数列を作ることができる。
制約
- 入力はすべて整数。
考察
状況は以下の3つの場合に分けることができる。
のとき、
とするしかないので1通り。
のとき、
とすることができるので2通り。
のとき、上の場合に加えて
とすることができるので3通り。
コード
#include <bits/stdc++.h> using namespace std; // ======================================== // int main() { int A, B; cin >> A >> B; int diff = abs(A - B); if (A == B) cout << 1 << endl; else if (diff < 2 || diff % 2 != 0) cout << 2 << endl; else cout << 3 << endl; }
実装時間 : 5分
A問題での場合分けは心臓に悪い。