結果
問題 | No.250 atetubouのzetubou |
ユーザー | vwxyz |
提出日時 | 2022-10-01 04:34:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 376 ms / 5,000 ms |
コード長 | 3,480 bytes |
コンパイル時間 | 425 ms |
コンパイル使用メモリ | 86,980 KB |
実行使用メモリ | 115,356 KB |
最終ジャッジ日時 | 2023-08-24 21:55:33 |
合計ジャッジ時間 | 9,814 ms |
ジャッジサーバーID (参考情報) |
judge11 / judge15 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 357 ms
108,632 KB |
testcase_01 | AC | 363 ms
108,172 KB |
testcase_02 | AC | 357 ms
108,268 KB |
testcase_03 | AC | 372 ms
115,076 KB |
testcase_04 | AC | 373 ms
115,356 KB |
testcase_05 | AC | 359 ms
108,780 KB |
testcase_06 | AC | 362 ms
108,400 KB |
testcase_07 | AC | 360 ms
108,600 KB |
testcase_08 | AC | 359 ms
108,396 KB |
testcase_09 | AC | 363 ms
108,540 KB |
testcase_10 | AC | 361 ms
108,536 KB |
testcase_11 | AC | 359 ms
108,600 KB |
testcase_12 | AC | 365 ms
108,416 KB |
testcase_13 | AC | 361 ms
108,708 KB |
testcase_14 | AC | 346 ms
108,484 KB |
testcase_15 | AC | 373 ms
115,152 KB |
testcase_16 | AC | 373 ms
115,276 KB |
testcase_17 | AC | 376 ms
115,188 KB |
testcase_18 | AC | 374 ms
115,332 KB |
testcase_19 | AC | 373 ms
115,304 KB |
testcase_20 | AC | 347 ms
108,104 KB |
testcase_21 | AC | 344 ms
108,420 KB |
ソースコード
from ast import Mod import bisect import copy import decimal import fractions import heapq import itertools import math import random import sys import time from collections import Counter,deque,defaultdict from functools import lru_cache,reduce from heapq import heappush,heappop,heapify,heappushpop,_heappop_max,_heapify_max def _heappush_max(heap,item): heap.append(item) heapq._siftdown_max(heap, 0, len(heap)-1) def _heappushpop_max(heap, item): if heap and item < heap[0]: item, heap[0] = heap[0], item heapq._siftup_max(heap, 0) return item from math import gcd as GCD read=sys.stdin.read readline=sys.stdin.readline readlines=sys.stdin.readlines write=sys.stdout.write class MOD: def __init__(self,p,e=None): self.p=p self.e=e if self.e==None: self.mod=self.p else: self.mod=self.p**self.e def Pow(self,a,n): a%=self.mod if n>=0: return pow(a,n,self.mod) else: assert math.gcd(a,self.mod)==1 x=Extended_Euclid(a,self.mod)[0] return pow(x,-n,self.mod) def Build_Fact(self,N): assert N>=0 self.factorial=[1] if self.e==None: for i in range(1,N+1): self.factorial.append(self.factorial[-1]*i%self.mod) else: self.cnt=[0]*(N+1) for i in range(1,N+1): self.cnt[i]=self.cnt[i-1] ii=i while ii%self.p==0: ii//=self.p self.cnt[i]+=1 self.factorial.append(self.factorial[-1]*ii%self.mod) self.factorial_inve=[None]*(N+1) self.factorial_inve[-1]=self.Pow(self.factorial[-1],-1) for i in range(N-1,-1,-1): ii=i+1 while ii%self.p==0: ii//=self.p self.factorial_inve[i]=(self.factorial_inve[i+1]*ii)%self.mod def Fact(self,N): if N<0: return 0 retu=self.factorial[N] if self.e!=None and self.cnt[N]: retu*=pow(self.p,self.cnt[N],self.mod)%self.mod retu%=self.mod return retu def Fact_Inve(self,N): if self.e!=None and self.cnt[N]: return None return self.factorial_inve[N] def Comb(self,N,K,divisible_count=False): if K<0 or K>N: return 0 retu=self.factorial[N]*self.factorial_inve[K]%self.mod*self.factorial_inve[N-K]%self.mod if self.e!=None: cnt=self.cnt[N]-self.cnt[N-K]-self.cnt[K] if divisible_count: return retu,cnt else: retu*=pow(self.p,cnt,self.mod) retu%=self.mod return retu def Extended_Euclid(n,m): stack=[] while m: stack.append((n,m)) n,m=m,n%m if n>=0: x,y=1,0 else: x,y=-1,0 for i in range(len(stack)-1,-1,-1): n,m=stack[i] x,y=y,x-(n//m)*y return x,y comb=[[0]*1501 for i in range(1501)] inf=1<<60 for a in range(1,1501): comb[a][0]=1 for b in range(1,1501): comb[0][b]=1 for a in range(1,1501): for b in range(1,1501): comb[a][b]+=comb[a-1][b] comb[a][b]+=comb[a][b-1] if comb[a][b]>=inf: comb[a][b]=inf Q=int(readline()) for q in range(Q): D,X,T=map(int,readline().split()) if comb[X][D-1]>T: ans="ZETUBOU" else: ans="AC" print(ans)