問題
http://agc002.contest.atcoder.jp/tasks/agc002_a
a <= b が与えられるとき、a, a + 1, ... , b の全ての数の積の正・負・0を判定せよ
-10^9 <= a <= b <= 10^9
考察
1. 積が0になるのは0が含まれるとき
2. これは a*b<=0 のときである
3. 0 < a <= b であれば積は必ず正
4. 問題は a <= b < 0 の時である
5. 掛ける個数は偶数なら正、奇数なら負を返せば良い
実装
http://agc002.contest.atcoder.jp/submissions/824079
typedef long long ll; ll a, b; //----------------------------------------------------------------- int main() { cin >> a >> b; if (a*b <= 0) { cout << "Zero" << endl; return 0; } if (0 < a) { cout << "Positive" << endl; return 0; } int d = b - a; if (d % 2 == 1) cout << "Positive" << endl; else cout << "Negative" << endl; }