제출 #794942

#제출 시각아이디문제언어결과실행 시간메모리
794942nguyennehehe은행 (IZhO14_bank)C++14
0 / 100
1068 ms316 KiB
#include<bits/stdc++.h>
using namespace std;

const int N = 20;

int n, m, a[N], b[N];

void sub1() {
  bool ok = false;
  for (int s = 1; s < (1 << m); ++s) {
    int sum = 0;
    for (int i = 0; i < m; ++i) {
      if (s >> i & 1) sum += b[i];
    }

    ok |= sum == a[0];
  }

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

void sub2() {
  bool good = false;
  do {
    bool ok = true;
    for (int i = 0, j = 0; i < n; ++i) {
      int sum = 0;
      while (j < m && sum < a[i]) {
        sum += b[j];
        j += 1;
      }
      ok &= sum == a[i];
    }
    good |= ok;

    if (good) break;
  } while (next_permutation(b, b + m));
  cout << (good ? "YES": "NO");
}

signed main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  cin >> n >> m;
  for (int i = 0; i < n; ++i) cin >> a[i];
  for (int i = 0; i < m; ++i) cin >> b[i];
  sub2();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...