Submission #1002413

#TimeUsernameProblemLanguageResultExecution timeMemory
1002413vjudge1Bank (IZhO14_bank)C++17
0 / 100
2 ms348 KiB
#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 mask, int sum) { if (ind == n) { ck = true; return; } if (sum >= a[ind]) { if (sum == a[ind]) btr(ind+1, mask, 0); return; } if (mask + 1 == (1 << m)) return; fd (i, 0, m) if (mask >> i & 1); else { btr(ind, mask | (1 << i), sum + b[i]); if (ck) return; } } void solve() { cin >> n >> m; a.resize(n); int mx = 0; farr (&i, a) cin >> i, mx = max(mx, i); fd (_, 0, m) { int x; cin >> x; if (x > mx) continue; b.emplace_back(x); } m = b.size(); btr(0, 0, 0); cout << (ck? "YES" : "NO"); } signed main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); freopen("bank.in", "r", stdin); freopen("bank.out", "w", stdout); int Tc = 1; // cin >> Tc; auto S = chrono::high_resolution_clock::now(); presolve(); for (int T = 1; T <= Tc; ++T) { solve(); cout << '\n'; } auto F = chrono::high_resolution_clock::now(); double TC = chrono::duration_cast<chrono::microseconds>(F - S).count(); cerr << setprecision(6) << fixed << "\nExecution time: " << TC * (1e-6) << " sec\n"; return 0; }

Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:62:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   62 |   freopen("bank.in", "r", stdin);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:63:10: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   63 |   freopen("bank.out", "w", stdout);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...