SoundHound Programming Contest 2018 Masters Tournament 本戦 (Open)-A:Feel the Beat(300)
問題
制約
考え方
つの区間が交差する区間は下図からもわかるように で求めることができる。
public void solve(int testNumber, InputReader in, PrintWriter out) { long c = in.nextLong(), d = in.nextLong(); long l = 140, r = 170; long ans = 0; while (true) { if (d < l) break; long min = Math.max(l, c); long max = Math.min(r, d); ans += Math.max(max - min, 0); l *= 2; r *= 2; } out.println(ans); }
ポイント
- 2つの区間の重なり