結果

問題 No.2239 Friday
コンテスト
ユーザー vjudge1
提出日時 2025-11-20 17:26:55
言語 PyPy3
(7.3.15)
結果
WA  
実行時間 -
コード長 3,936 bytes
コンパイル時間 314 ms
コンパイル使用メモリ 82,324 KB
実行使用メモリ 56,716 KB
最終ジャッジ日時 2025-11-20 17:26:57
合計ジャッジ時間 2,061 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 19 WA * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
import math
from bisect import bisect_left, bisect_right
from itertools import permutations, combinations
from collections import Counter, defaultdict, deque
from heapq import heappush, heappop

# ---------- FAST IO ----------
input = lambda: sys.stdin.readline().strip()
def read_int(): return int(input())
def read_ints(): return list(map(int, input().split()))
def read_chars(): return list(input())
def read_pair(): return map(int, input().split())

# ---------- CONSTANTS ----------
MOD = 10**9 + 7
INF = float('inf')

# ---------- MATH HELPERS ----------
def gcd(a, b): return math.gcd(a, b)
def lcm(a, b): return a * b // math.gcd(a, b)
def power(a, b, mod=MOD): return pow(a, b, mod)
def modinv(a, mod=MOD): return pow(a, mod - 2, mod)

def nCr(n, r, mod=MOD):
    if r < 0 or r > n: return 0
    num = den = 1
    for i in range(r):
        num = (num * (n - i)) % mod
        den = (den * (i + 1)) % mod
    return num * modinv(den, mod) % mod

# Precompute factorials if needed (uncomment + adjust N)
# N = 2 * 10**5 + 5
# fact = [1] * N
# invfact = [1] * N
# for i in range(1, N):
#     fact[i] = fact[i-1] * i % MOD
# invfact[-1] = pow(fact[-1], MOD-2, MOD)
# for i in range(N-2, -1, -1):
#     invfact[i] = invfact[i+1] * (i+1) % MOD
# def nCr_fast(n, r):
#     if r < 0 or r > n: return 0
#     return fact[n] * invfact[r] % MOD * invfact[n-r] % MOD

# ---------- SORTING / SEARCH HELPERS ----------
def sort_by_second(arr): return sorted(arr, key=lambda x: x[1])
def sort_by_first(arr): return sorted(arr, key=lambda x: x[0])

def binary_search(arr, target):
    l, r = 0, len(arr) - 1
    while l <= r:
        m = (l + r) // 2
        if arr[m] == target: return m
        elif arr[m] < target: l = m + 1
        else: r = m - 1
    return -1

def lower_bound(arr, x):  # first index >= x
    return bisect_left(arr, x)

def upper_bound(arr, x):  # first index > x
    return bisect_right(arr, x)

# ---------- PREFIX / SUFFIX ----------
def prefix_sum(arr):
    ps = [0]
    for x in arr: ps.append(ps[-1] + x)
    return ps  # ps[i] = sum of arr[:i]

# ---------- GRID HELPERS ----------
# 4-directional and 8-directional movement
DIR4 = [(1, 0), (-1, 0), (0, 1), (0, -1)]
DIR8 = DIR4 + [(1, 1), (1, -1), (-1, 1), (-1, -1)]

def in_bounds(x, y, n, m):
    return 0 <= x < n and 0 <= y < m

# ---------- GRAPH HELPERS ----------
def build_graph(n, edges, directed=False, one_indexed=True):
    """
    n: number of nodes
    edges: list of (u, v)
    returns adjacency list
    """
    size = n + 1 if one_indexed else n
    g = [[] for _ in range(size)]
    for u, v in edges:
        g[u].append(v)
        if not directed:
            g[v].append(u)
    return g

def bfs(start, g):
    n = len(g)
    dist = [-1] * n
    q = deque([start])
    dist[start] = 0
    while q:
        u = q.popleft()
        for v in g[u]:
            if dist[v] == -1:
                dist[v] = dist[u] + 1
                q.append(v)
    return dist


def dfs(u, g, vis):
    vis[u] = True
    for v in g[u]:
        if not vis[v]:
            dfs(v, g, vis)

# ---------- DP / RECURSION MEMO ----------
def memoize(f):
    memo = {}
    def helper(*args):
        if args not in memo:
            memo[args] = f(*args)
        return memo[args]
    return helper

# ---------- OUTPUT HELPERS ----------
YES = "YES"
NO = "NO"
def yn(flag): print(YES if flag else NO)



# ---------- MAIN SOLVER ----------
def solve():
    a,b = read_ints()
    if a < b:
        a, b = b, a
        
    
    if a==b:
        print(0)
        return
        
    x = 2*b
    y = a-b
    
    ans = 2000
    while True:
        diff = abs(x -y)
        if diff <= ans:
            ans = diff
        else:
            break
        x-=2
        y+=2
            
    
    print(ans)
    

# ---------- DRIVER ----------
if __name__ == "__main__":
    t =1  # set t = 1 for single test case problems
    for _ in range(t):
        solve()
0