結果
| 問題 |
No.1899 L1 Cafe
|
| コンテスト | |
| ユーザー |
googol_S0
|
| 提出日時 | 2022-04-08 21:55:52 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 398 ms / 2,000 ms |
| コード長 | 524 bytes |
| コンパイル時間 | 255 ms |
| コンパイル使用メモリ | 82,092 KB |
| 実行使用メモリ | 78,412 KB |
| 最終ジャッジ日時 | 2024-11-28 12:35:57 |
| 合計ジャッジ時間 | 5,418 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 12 |
ソースコード
def floor_sum(n,m,a,b):
r=0
x,y,z=0,0,0
while 1:
if b>=m:
x=b//m
else:
x=0
if a>=m:
y=a//m
else:
y=0
r+=x*n
b-=x*m
r+=(y*n*(n-1))>>1
a-=y*m
x=(a*n+b)//m
if x==0:
break
y=b-x*m
z=y//a
r+=(n+z)*x
a,b,n,m=m,y-z*a,x,a
return r
for t in range(int(input())):
N,A,B=map(int,input().split())
M=N//A
W=floor_sum(M+1,1,A,N-A*M)
M=N//B
W=W+floor_sum(M+1,1,B,N-B*M)
V=N//A
M=N//B
W=W-floor_sum(M+1,A,B,N-B*M)+V-N*2
print(W)
googol_S0