結果
| 問題 | No.1899 L1 Cafe |
| コンテスト | |
| ユーザー |
googol_S0
|
| 提出日時 | 2022-04-08 21:55:52 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 303 ms / 2,000 ms |
| コード長 | 524 bytes |
| 記録 | |
| コンパイル時間 | 336 ms |
| コンパイル使用メモリ | 84,864 KB |
| 実行使用メモリ | 83,748 KB |
| 最終ジャッジ日時 | 2026-05-22 13:17:23 |
| 合計ジャッジ時間 | 4,819 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge1_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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