제출 #1002463

#제출 시각아이디문제언어결과실행 시간메모리
1002463vjudge1은행 (IZhO14_bank)C++17
71 / 100
1099 ms456 KiB
#pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,popcnt,lzcnt") #include <bits/stdc++.h> #define int long long #define vtr vector #define vi vtr<int> #define ii pair<int, int> #define fi first #define se second #define len(s) (int)s.size() #define fd(v, s, e) for (int v = s; v < e; ++v) #define bk(v, s, e) for (int v = s-1; v >= e; --v) #define farr(i, arr) for (auto i: arr) #define all(arr) arr.begin(), arr.end() using namespace std; void presolve() { } int n, m; vi a, b; bool ck = false; void btr(int ind, int cur_i, int mask, int sum) { if (ind == n) { ck = true; return; } if (sum >= a[ind]) { if (sum == a[ind]) btr(ind+1, 0, mask, 0); return; } fd (i, cur_i, m) if (!(mask & (1 << i))) { btr(ind, i+1, mask | (1 << i), sum + b[i]); if (ck) return; } } void solve() { cin >> n >> m; a.resize(n); farr (&i, a) cin >> i; b.resize(m); farr (&j, b) cin >> j; sort(all(b), greater<int>()); btr(0, 0, 0, 0); puts(ck? "YES" : "NO"); } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); { 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...