Submission #1263312

#TimeUsernameProblemLanguageResultExecution timeMemory
1263312bachkahpBank (IZhO14_bank)C++20
19 / 100
82 ms8520 KiB
#include <bits/stdc++.h>
#define pb push_back
#define pii pair<int, int>
#define ll long long
#define task "task"
#define fi first
#define se second
using namespace std;

const int ma = 24;
int n, m, a[ma], b[ma];
pii dp[(1 << 20) + 4];

void Read() {
  cin >> n >> m;
  for (int i = 1; i <= n; i++) cin >> a[i];
  for (int i = 0; i < m; i++) cin >> b[i];
}

void solve() {
  for (int mask = 1; mask < (1 << m); mask++) {
    for (int i = 0; i < m; i++) {
      if (!(mask >> i & 1)) continue;
      int nmask = mask ^ (1 << i);
      if (b[i] + dp[nmask].se == a[dp[nmask].fi + 1])
        dp[mask] = {dp[nmask].fi + 1, 0};
      else if (b[i] + dp[nmask].se < a[dp[nmask].fi + 1])
      dp[mask] = {dp[nmask].fi, dp[nmask].se + b[i]};
    }
  }

  bool flag = false;
  for (int mask = 0; mask < (1 << m); mask++) {
    if (dp[mask] == make_pair(n, 0)) {
      flag = true;
      break;
    }
  }

  cout << (flag ? "YES" : "NO");
}

signed main() {
  if(fopen(task ".inp", "r")) {
    freopen(task ".inp", "r", stdin);
    freopen(task ".out", "w", stdout);
  }
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);

  Read();
  solve();

  return 0;
}


Compilation message (stderr)

bank.cpp: In function 'int main()':
bank.cpp:45:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   45 |     freopen(task ".inp", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
bank.cpp:46:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   46 |     freopen(task ".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...