Submission #1284306

#TimeUsernameProblemLanguageResultExecution timeMemory
1284306dobri_okeBank (IZhO14_bank)C++20
25 / 100
1097 ms580 KiB
#include <bits/stdc++.h>
using namespace std;
#define F first
#define S second
#define pb push_back
#define int long long

const int N = 5e5+100;

void solve(){
    int n, m;
    cin >> n >> m;
    int a[n+1], b[m+1], c[m+1];
    for(int i=1;i<=n;i++) cin >> a[i];
    for(int i=1;i<=m;i++){ 
        cin >> b[i];
        c[i]=i;   
    }
    do{
        int sum=0, j=1;
        for(int i=1;i<=m;i++){
            sum+=b[c[i]];
            if(sum==a[j]){
                sum=0;
                j++;
            }
            if(j==n+1){
                cout << "YES\n";
                return;
            }
        }
    }while(next_permutation(c+1, c+m+1));
    cout << "NO\n";
}
/*dp[i+w[k]-1][j+h[k]-1]
21 11
5
5 3
6 7
3 2
5 6
21 11
*/

signed main(){   
    ios_base::sync_with_stdio(0);   cin.tie(0);
    //freopen("promote.in","r",stdin);
    //freopen("promote.out","w",stdout);
    int tt=1;
   // cin >> tt;
    while(tt--){
        solve();
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...