Submission #1361848

#TimeUsernameProblemLanguageResultExecution timeMemory
1361848vuhBank (IZhO14_bank)C++20
25 / 100
1095 ms408 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pb push_back
const int mod = 1e9 + 7;
const int sz = 1e5 + 5;
const int inf = 676767677;
void solve(){
    int n,m, suma  =0, sumb = 0;
    cin >> n >> m;
    vector<int> a(n), b(m);
    for(int i = 0; i < n ; i ++){
        cin>>a[i];
        suma += a[i];
    }
    for(int i = 0; i < m ; i ++){
        cin>>b[i];
        sumb += b[i];
    }
    if(n > m || suma > sumb){
        cout<<"NO";
        return;
    }
    sort(b.begin(), b.end());
    do{
        int idx = 0, sum = 0;
        for(int i =0  ; i < m ; i ++){
            sum += b[i];
            if(a[idx] == sum){
                sum = 0;
                idx ++;
            }
        }
        if(idx == n){
            cout << "YES" ;
            return;
        }
    }
    while(next_permutation(b.begin(), b.end()));
    cout << "NO" << endl;
}
signed main(){
    //freopen("socdist.in", "r", stdin);
    //freopen("socdist.out", "w", stdout);
    int T = 1;
    //cin >> T;
    while(T--){
        solve();
    }
}
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...