Submission #969215

# Submission time Handle Problem Language Result Execution time Memory
969215 2024-04-24T16:56:12 Z dosts Bank (IZhO14_bank) C++17
19 / 100
91 ms 16836 KB
//Dost SEFEROĞLU
#pragma GCC optimize("O3,unroll-loops,Ofast")
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define ff first
#define ss second
#define sp << " " << 
#define vi vector<int>

const int N = 5e2+1,inf = 2e18,MOD = 1e9+7;


void solve() {
    int n,m;
    cin >> n >> m;
    vi a(m+2),b(n+2);
    a[m+1] = b[n+1] = inf;
    for (int i=1;i<=n;i++) cin >> b[i];
    for (int j=1;j<=m;j++) cin >> a[j];
    sort(a.begin()+1,a.end());
    int lim = (1<<m);
    pii dp[lim];
    for (int i=0;i<lim;i++) dp[i] = {-1,0};
    pii mx = {0,-b[1]};
    dp[0] = {0,-b[1]};
    for (int i=1;i<lim;i++) {
        for (int j=0;j<m;j++) {
            if (!(i&(1<<j))) continue;
            int rem = i^(1<<j);
            int v = dp[rem].second+a[j+1];
            if (v > 0) break;
            else if (v == 0){
                dp[i] = max(dp[i],{dp[rem].ff+1,-b[dp[rem].ff+2]});
            }
            else dp[i] = max(dp[i],{dp[rem].first,dp[rem].second+a[j+1]});
        }
        mx = max(mx,dp[i]);
    };
    cout << (mx.ff == n ? "YES\n" : "NO\n");
}
                
                            
signed main() { 
    ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    #ifdef Dodi
        freopen("in.txt","r",stdin);
        freopen("out.txt","w",stdout);
    #endif
    int t = 1;
    //cin >> t; 
    while (t --> 0) solve();
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 860 KB Output is correct
5 Correct 15 ms 16732 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 49 ms 16732 KB Output is correct
9 Correct 91 ms 16836 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 600 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 860 KB Output is correct
5 Correct 15 ms 16732 KB Output is correct
6 Correct 0 ms 344 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 49 ms 16732 KB Output is correct
9 Correct 91 ms 16836 KB Output is correct
10 Incorrect 0 ms 348 KB Output isn't correct
11 Halted 0 ms 0 KB -