제출 #974798

#제출 시각아이디문제언어결과실행 시간메모리
974798KasymK은행 (IZhO14_bank)C++17
0 / 100
3 ms8540 KiB
#include "bits/stdc++.h" using namespace std; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n, m; cin >> n >> m; vector<int> b(m), pref(n + 1); for(int i = 1; i <= n; ++i){ int x; cin >> x; pref[i] = pref[i - 1] + x; } for(int &i : b) cin >> i; vector<int> dp(1 << 21); dp[0] = 1; for(int mk = 0; mk <= (1 << m); ++mk){ int sum = 0; for(int j = 0; j < m; ++j) if(mk >> j & 1) sum += b[j]; int id = lower_bound(pref.begin(), pref.end(), sum) - pref.begin(); id--; if(id == n) continue; for(int j = 0; j < m; ++j) if((mk >> j & 1) and (b[j] <= sum - pref[id - 1])) dp[mk] |= dp[mk ^ (1 << j)]; if(pref[n - 1] == sum and dp[mk]){ cout << "YES" << "\n"; return 0; } } 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...