Submission #1305393

#TimeUsernameProblemLanguageResultExecution timeMemory
1305393aditya_k47은행 (IZhO14_bank)Pypy 3
100 / 100
424 ms67496 KiB
import sys n,m=map(int,input().split()) a=list(map(int,input().split())) b=list(map(int,input().split())) prefix=[-1]*(1<<m) left=[-1]*(1<<m) prefix[0]=left[0]=0 for s in range(1,1<<m): for i in range(m): if not s>>i&1: continue bit=s^(1<<i) idx=prefix[bit] if idx==-1: continue amt=left[bit]+b[i] if amt<a[idx]: left[s]=amt prefix[s]=idx elif amt==a[idx]: left[s]=0 prefix[s]=idx+1 if prefix[s]==n: print("YES") exit() print("NO")

Compilation message (stdout)

Compiling 'bank.py'...

=======
  adding: __main__.pyc (deflated 30%)

=======
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...