[白俊]15953賞金ハンター

7171 ワード

質問する


https://www.acmicpc.net/problem/15953

入力


1行目は,Jazzieが想像力を発揮するために仮定した回数T(1≦T≦1000)を与えた.
次のT行の各行には、Jazzyが行った仮定に関する情報が与えられます.各行には、2つ以外の負の値の整数a(0≦a≦100)とb(0≦b≦64)の間のスペースがある.

しゅつりょく


各家庭が設立されると、ジェシーは得たボーナスを1単位の整数で1行印刷します.入力した順に出力します.

コミットコード


import sys
input = sys.stdin.readline

code2017 = {1: 500, 2: 300, 3: 200, 4: 50, 5: 30, 6: 10}
code2018 = {1: 512, 2: 256, 3: 128, 4: 64, 5: 32}
UNIT = 10 ** 4

def code2017_m(a):
    if a == 0 or a > 21:
        return 0
    
    cur = 0
    for i in range(1, 7):
        cur += i
        if a <= cur:
            return code2017[i] * UNIT
    
    
def code2018_m(b):
    if b == 0 or b > 31:
        return 0
    
    cur = 0
    for i in range(1, 6):
        cur += 2 ** (i-1)
        if b <= cur:
            return code2018[i] * UNIT


t = int(input())
for _ in range(t):
    a, b = map(int, input().split())
    print(code2017_m(a) + code2018_m(b))