| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 810988 | hariaakas646 | 은행 (IZhO14_bank) | C++17 | 1099 ms | 80132 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define scd(t) scanf("%d", &t)
#define sclld(t) scanf("%lld", &t)
#define forr(i, j, k) for (int i = j; i < k; i++)
#define frange(i, j) forr(i, 0, j)
#define all(cont) cont.begin(), cont.end()
#define mp make_pair
#define pb push_back
#define f first
#define s second
typedef long long int lli;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<bool> vb;
typedef vector<lli> vll;
typedef vector<string> vs;
typedef vector<pii> vii;
typedef vector<vi> vvi;
typedef map<int, int> mpii;
typedef set<int> seti;
typedef multiset<int> mseti;
typedef long double ld;
int main()
{
int n, m;
scd(n);
scd(m);
vi v1(n);
vi v2(m);
frange(i, n) scd(v1[i]);
frange(i, m) scd(v2[i]);
vvi val(1001);
frange(i, 1 << m)
{
int tot = 0;
frange(j, m)
{
if (i & (1 << j))
tot += v2[j];
}
if (tot <= 1000)
val[tot].pb(i);
}
vector<vb> dp(1 << m, vb(n));
frange(j, n)
{
frange(i, 1 << m)
{
for (auto v : val[v1[j]])
{
if ((i & v) == v)
{
if (j > 0)
{
// if (dp[i ^ v][j - 1])
// printf("%d %d %d\n", i, v, j);
dp[i][j] = dp[i][j] || dp[i ^ v][j - 1];
}
else
{
if (i == v)
{
// printf("%d %d\n", i, j);
dp[i][j] = true;
}
}
}
}
}
}
bool out = false;
frange(i, 1 << m)
{
if (dp[i][n - 1])
{
// printf("%d\n", i);
out = true;
}
}
if (out)
printf("YES");
else
printf("NO");
}
Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
