제출 #1355836

#제출 시각아이디문제언어결과실행 시간메모리
1355836merlin1205은행 (IZhO14_bank)C++20
19 / 100
10 ms4420 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
#define lsb(x) (x & -x)
using namespace std;

const int N = 20;
int n, m, curr, a[N + 5], b[N + 5], sum[1 << N];

int check(int x){
    for(int mask = curr;mask > 0;mask = (mask - 1) & curr)if(sum[mask] == x)return mask;
    cout << "NO";
    exit(0);
}


int main() {
    cin>> n >> m;
    for(int i = 0;i < n;++i)cin>>a[i];
    for(int i = 0;i < m;++i)cin>>b[i];
    curr = (1 << m) - 1;
    for(int mask = 0;mask <= curr;++mask){
        for(int I = mask;I;I -= lsb(I)){
            int i = __builtin_ctz(lsb(I));
            sum[mask] += b[i];
        }
        // cout << mask <<" "<< sum[mask] << endl;
    }

    for(int i = 0;i < n;++i)curr ^= check(a[i]);

    cout << "YES";
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…