結果
問題 | No.250 atetubouのzetubou |
ユーザー | vwxyz |
提出日時 | 2022-10-01 04:34:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 244 ms / 5,000 ms |
コード長 | 3,480 bytes |
コンパイル時間 | 507 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 107,392 KB |
最終ジャッジ日時 | 2024-06-02 11:09:18 |
合計ジャッジ時間 | 6,444 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 229 ms
106,880 KB |
testcase_01 | AC | 215 ms
106,624 KB |
testcase_02 | AC | 223 ms
107,008 KB |
testcase_03 | AC | 231 ms
107,008 KB |
testcase_04 | AC | 235 ms
107,008 KB |
testcase_05 | AC | 226 ms
106,880 KB |
testcase_06 | AC | 228 ms
106,880 KB |
testcase_07 | AC | 230 ms
107,136 KB |
testcase_08 | AC | 235 ms
106,752 KB |
testcase_09 | AC | 232 ms
107,008 KB |
testcase_10 | AC | 231 ms
106,752 KB |
testcase_11 | AC | 227 ms
107,008 KB |
testcase_12 | AC | 228 ms
107,008 KB |
testcase_13 | AC | 230 ms
107,008 KB |
testcase_14 | AC | 209 ms
106,624 KB |
testcase_15 | AC | 226 ms
107,136 KB |
testcase_16 | AC | 235 ms
107,008 KB |
testcase_17 | AC | 235 ms
107,392 KB |
testcase_18 | AC | 229 ms
106,752 KB |
testcase_19 | AC | 244 ms
106,752 KB |
testcase_20 | AC | 211 ms
106,752 KB |
testcase_21 | AC | 211 ms
106,624 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)