https://www.acmicpc.net/problem/15953
첫 번째 줄에 제이지가 상상력을 발휘하여 가정한 횟수 T(1 ≤ T ≤ 1,000)가 주어진다.
다음 T개 줄에는 한 줄에 하나씩 제이지가 해본 가정에 대한 정보가 주어진다. 각 줄에는 두 개의 음이 아닌 정수 a(0 ≤ a ≤ 100)와 b(0 ≤ b ≤ 64)가 공백 하나를 사이로 두고 주어진다.
각 가정이 성립할 때 제이지가 받을 상금을 원 단위의 정수로 한 줄에 하나씩 출력한다. 입력이 들어오는 순서대로 출력해야 한다.
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))