제출 #1306591

#제출 시각아이디문제언어결과실행 시간메모리
1306591Nipphitch은행 (IZhO14_bank)C++20
100 / 100
94 ms8644 KiB
#include <bits/stdc++.h> using namespace std; const int N=20; int n,m,a[N+1],b[N+1]; pair <int,int> dp[(1<<N)+1]; signed main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i=0;i<n;i++) cin >> a[i]; for(int i=0;i<m;i++) cin >> b[i]; dp[0]={0,0}; for(int mask=0;mask<(1<<m);mask++){ if(dp[mask].first==n){ cout << "YES\n"; exit(0); } for(int i=0;i<m;i++){ if(mask&(1<<i)) continue; pair <int,int> nxt; if(a[dp[mask].first]==dp[mask].second+b[i]) nxt={dp[mask].first+1,0}; else nxt={dp[mask].first,dp[mask].second+b[i]}; dp[mask|(1<<i)]=max(dp[mask|(1<<i)],nxt); } } cout << "NO"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...