結果

問題 No.3048 Swing
ユーザー 斉藤+あるふぁ。
提出日時 2025-03-07 22:00:23
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
WA  
(最新)
AC  
(最初)
実行時間 -
コード長 859 bytes
コンパイル時間 300 ms
コンパイル使用メモリ 12,416 KB
実行使用メモリ 10,496 KB
最終ジャッジ日時 2025-03-14 17:01:37
合計ジャッジ時間 3,439 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 58 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

x,n = map(int,input().split())

def main(x,n):
    
    rev = 0
    
    if x < 0: 
        rev = 1
        x *= -1
    
    
    if n * (n + 1) // 2 < x:
        ans = x - (n * (n + 1) // 2)
        # print("a")
        if(rev) :
            print(-ans)
        else:
            print(ans)

        return None
    
    
    l,r = -1,n
    while r - l > 1:
    
        mid = (r + l) // 2
        if mid * (mid + 1) // 2 >= x:
            r = mid
        else:
            l = mid
            
    
    s = x - (r * (r + 1) // 2)
    
    if (n - r) % 2 == 0:
    
        ans = s - ((n - r) // 2)
        if rev == 1:
            print(-ans)
        else:
            print(ans)
    
    else:
    
        rr = r + 1
        ans = (s + rr) + ((n - rr) // 2)
    
        if rev == 1:
            print(-ans)
        else:
            print(ans)

main(x,n)
0