A. The Miracle and the Sleeper | Round #741 Div.2
3164 ワード
https://codeforces.com/contest/1562/problem/A
1秒、512 MBメモリ
input : t (1 ≤ t ≤ 104) l r (1 ≤ l ≤ r ≤ 109) output : For every test case, output the largest possible value of a mod b over all pairs (a,b) of integers for which r≥a≥b≥l.
各テストキャビネットで残りの演算を実行したときに得られる最大残高を出力します. 条件:
2つの入力l,rのを受信する.次に、(a modb)演算を実行したときに得られる最大残存値を検索する. この問題は例で役に立つ.
3番目の例と4番目の例から、両方の答えがr/2に近いことがわかる.
だから直接除いて、+1で残りを求めて、それは最大の値ですか?考えました.
対応する例では軽く見るとそうだったので出力させました.
lがr/2より大きい場合、lを使用して残りの演算を実行できます.
rは最大の数字なので固定されており、残りを最大限に求めたい場合は2で割った値に1を加えると最大の値になります.
3を4で割った値と3を4で割った値を比較しても同じです.
1秒、512 MBメモリ
input :
各テストキャビネットで残りの演算を実行したときに得られる最大残高を出力します.
2つの入力l,rの
3番目の例と4番目の例から、両方の答えがr/2に近いことがわかる.
だから直接除いて、+1で残りを求めて、それは最大の値ですか?考えました.
対応する例では軽く見るとそうだったので出力させました.
lがr/2より大きい場合、lを使用して残りの演算を実行できます.
rは最大の数字なので固定されており、残りを最大限に求めたい場合は2で割った値に1を加えると最大の値になります.
3を4で割った値と3を4で割った値を比較しても同じです.
import sys
for _ in range(int(sys.stdin.readline())):
l, r = map(int, sys.stdin.readline().split())
if l == r:
print(0)
continue
start = r // 2
if start < l:
print(r % l)
continue
print(r % (start + 1))
Reference
この問題について(A. The Miracle and the Sleeper | Round #741 Div.2), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/A.-The-Miracle-and-the-Sleeper-Round-741-Div.2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol