# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
40521 | Pajaraja | Bank (IZhO14_bank) | C++14 | 649 ms | 25280 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;
int a[20],b[20];
bool ma[22][1100000];
vector<int> v[22];
vector<int> s[20007];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=0;i<m;i++) scanf("%d",&b[i]);
v[0].push_back(0);
for(int i=0;i<(1<<m);i++)
{
int ma=i;
int sum=0;
for(int j=0;j<m;j++)
{
if(ma%2==1) sum+=b[j];
ma/=2;
}
s[sum].push_back(i);
}
for(int i=1;i<=n;i++)
{
for(int j=0;j<s[a[i]].size();j++) for(int k=0;k<v[i-1].size();k++) if(((v[i-1][k]^s[a[i]][j]) == (v[i-1][k]|s[a[i]][j])) && !ma[i][v[i-1][k] xor s[a[i]][j]])
{
v[i].push_back(s[a[i]][j] xor v[i-1][k]);
ma[i][s[a[i]][j] xor v[i-1][k]]=true;
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... |