제출 #1273228

#제출 시각아이디문제언어결과실행 시간메모리
1273228eduardmm은행 (IZhO14_bank)C++20
100 / 100
91 ms25044 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main(){ int n, m; cin >> n >> m; vector<int> a(n), b(m); for (int i = 0; i < n; ++i) cin >> a[i]; for (int i = 0; i < m; ++i) cin >> b[i]; vector<pair<ll, ll>> s(1 << m); vector<ll> check(1 << m); check[0] = 1; bool ok = false; for (int i = 0; i < (1 << m) - 1; ++i){ if (check[i] == 0) continue; for (int j = 0; j < m; ++j){ if (i & (1 << j)) continue; int k = s[i].first, val = s[i].second; val += b[j]; if (a[k] == val){ check[i | (1 << j)] |= 1; s[i | (1 << j)] = {k + 1, 0}; } else if (a[k] > val){ check[i | (1 << j)] |= 1; s[i | (1 << j)] = {k, val}; } } } for (int i = 0; i < (1 << m); ++i){ if (s[i].first == n) ok = true; } if (ok) cout << "YES\n"; else cout << "NO\n"; 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...