Submission #1278009

#TimeUsernameProblemLanguageResultExecution timeMemory
1278009toplion7Bank (IZhO14_bank)C++20
19 / 100
1 ms588 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int inf = 1e18 + 7;
const int MOD = 1000000007;
const int MOD1 = 998244353;
const int MOD2 = 1e9 + 9;
const int MAXXX = 1e3 + 5;
const int MAXXXx = 1e3 + 5;
const int OFFSET = 200;
void Make_set(vector<int>& v)
{
    set<int> s(v.begin(), v.end());
    v.assign(s.begin(), s.end());
}
int Pow(int n, int k, int mod) 
{
    int res = 1;
    while (k > 0) 
    {
        if (k % 2 == 1) 
        {
            res = (res * n) % mod;
        }
        n = (n * n) % mod;
        k /= 2;
    }
    return res;
}
vector<int> dp(MAXXX);
int x[MAXXX];

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

    int T = 1;
    for (int K = 0; K < T; K++)
    {
        int n, m;
        cin >> n >> m;
        int a[n], b[m];
        for (int i = 0; i < n; i++)
        {
            cin >> a[i];
        }
        for (int i = 0; i < m; i++)
        {
            cin >> b[i];
        }
        dp[0] = 1;

        for (int i = 0; i < m; i++)
        {
            for (int j = MAXXX - 1; j >= b[i]; j--)
            {
                if (dp[j - b[i]])
                {
                    dp[j] = 1;
                }
            }
        }
        if (n == 1)
        {
            if (dp[a[0]])
            {
                cout << "YES";
            }
            else
            {
                cout << "NO";
            }
        }
    }

    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...