Submission #493501

# Submission time Handle Problem Language Result Execution time Memory
493501 2021-12-11T18:49:55 Z reni Bank (IZhO14_bank) C++14
100 / 100
311 ms 172676 KB
#include<iostream>
#define endl '\n'
using namespace std;
long long dp[(1<<21)][21], a[1000], b[1000],n,m;
bool is=false;

void rec(long long sum,long long pos, long long mask)
{
    if(is)return;
    if(pos==n){is=true;return;}
    for(int i=0;i<m;i++)
    {
        if(sum>b[i] && ((mask&(1<<i))==0))
        {
            if(!dp[mask|(1<<i)][pos])rec(sum-b[i],pos,mask|(1<<i));
            dp[mask|(1<<i)][pos]=1;
        }
        else if(sum==b[i] && ((mask&(1<<i))==0))
        {
            if(!dp[mask|(1<<i)][pos+1])rec(a[pos+1],pos+1,mask|(1<<i));
            dp[mask|(1<<i)][pos+1]=1;
        }
    }
}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    long long i,j;

    cin>>n>>m;

    for(i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(j=0;j<m;j++)
    {
        cin>>b[j];
    }

    rec(a[0],0,0);

    if(is)cout<<"YES"<<endl;
    else cout<<"NO"<<endl;


}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 332 KB Output is correct
4 Correct 0 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 332 KB Output is correct
8 Correct 1 ms 588 KB Output is correct
9 Correct 311 ms 172676 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 332 KB Output is correct
2 Correct 0 ms 332 KB Output is correct
3 Correct 0 ms 460 KB Output is correct
4 Correct 1 ms 332 KB Output is correct
5 Correct 0 ms 332 KB Output is correct
6 Correct 1 ms 332 KB Output is correct
7 Correct 0 ms 332 KB Output is correct
8 Correct 1 ms 460 KB Output is correct
9 Correct 0 ms 460 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 716 KB Output is correct
2 Correct 1 ms 972 KB Output is correct
3 Correct 1 ms 460 KB Output is correct
4 Correct 0 ms 204 KB Output is correct
5 Correct 0 ms 460 KB Output is correct
6 Correct 0 ms 332 KB Output is correct
7 Correct 1 ms 588 KB Output is correct
8 Correct 2 ms 1740 KB Output is correct
9 Correct 1 ms 588 KB Output is correct
10 Correct 0 ms 588 KB Output is correct
11 Correct 3 ms 3020 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 0 ms 332 KB Output is correct
4 Correct 0 ms 332 KB Output is correct
5 Correct 1 ms 332 KB Output is correct
6 Correct 0 ms 204 KB Output is correct
7 Correct 0 ms 332 KB Output is correct
8 Correct 1 ms 588 KB Output is correct
9 Correct 311 ms 172676 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 0 ms 332 KB Output is correct
12 Correct 0 ms 460 KB Output is correct
13 Correct 1 ms 332 KB Output is correct
14 Correct 0 ms 332 KB Output is correct
15 Correct 1 ms 332 KB Output is correct
16 Correct 0 ms 332 KB Output is correct
17 Correct 1 ms 460 KB Output is correct
18 Correct 0 ms 460 KB Output is correct
19 Correct 1 ms 332 KB Output is correct
20 Correct 1 ms 716 KB Output is correct
21 Correct 1 ms 972 KB Output is correct
22 Correct 1 ms 460 KB Output is correct
23 Correct 0 ms 204 KB Output is correct
24 Correct 0 ms 460 KB Output is correct
25 Correct 0 ms 332 KB Output is correct
26 Correct 1 ms 588 KB Output is correct
27 Correct 2 ms 1740 KB Output is correct
28 Correct 1 ms 588 KB Output is correct
29 Correct 0 ms 588 KB Output is correct
30 Correct 3 ms 3020 KB Output is correct
31 Correct 1 ms 844 KB Output is correct
32 Correct 1 ms 844 KB Output is correct
33 Correct 7 ms 11340 KB Output is correct
34 Correct 1 ms 1228 KB Output is correct
35 Correct 2 ms 3276 KB Output is correct
36 Correct 1 ms 972 KB Output is correct
37 Correct 1 ms 1868 KB Output is correct
38 Correct 0 ms 332 KB Output is correct
39 Correct 1 ms 460 KB Output is correct
40 Correct 1 ms 588 KB Output is correct
41 Correct 1 ms 844 KB Output is correct
42 Correct 177 ms 163512 KB Output is correct
43 Correct 16 ms 23116 KB Output is correct
44 Correct 0 ms 332 KB Output is correct
45 Correct 1 ms 972 KB Output is correct
46 Correct 13 ms 19404 KB Output is correct
47 Correct 1 ms 972 KB Output is correct
48 Correct 1 ms 460 KB Output is correct
49 Correct 0 ms 460 KB Output is correct
50 Correct 1 ms 824 KB Output is correct
51 Correct 3 ms 4940 KB Output is correct
52 Correct 1 ms 716 KB Output is correct
53 Correct 1 ms 832 KB Output is correct
54 Correct 1 ms 964 KB Output is correct
55 Correct 1 ms 844 KB Output is correct
56 Correct 1 ms 844 KB Output is correct
57 Correct 289 ms 172600 KB Output is correct
58 Correct 1 ms 844 KB Output is correct