제출 #1164513

#제출 시각아이디문제언어결과실행 시간메모리
1164513s3yoonpark은행 (IZhO14_bank)C++20
0 / 100
5 ms840 KiB
#include <bits/stdc++.h> #define ssize(x) (int)x.size() using namespace std; const int N = 21; int n, m; int a[N], b[N]; vector<int> dp[N]; vector<int> config[1001]; void solve() { cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= m; i++) cin >> b[i]; for (int i = 0; i < (1 << m); i++) { int sum = 0; for (int j = 0; j < m; j++) { if ((1 << j) & i) { sum += b[j + 1]; } } config[sum].push_back(i); } dp[0].push_back(0); for (int i = 1; i <= n; i++) { int e = a[i]; for (int j : dp[i - 1]) { for (int c : config[e]) { if (!(j & c)) { dp[i].push_back(j | c); } } } } cout << (ssize(dp[n]) ? "YES\n" : "NO\n"); } int main() { // freopen("bank.in", "r", stdin); // freopen("bank.out", "w", stdout); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...