Submission #1352125

#TimeUsernameProblemLanguageResultExecution timeMemory
1352125khomeUplifting Excursion (BOI22_vault)C++20
0 / 100
1 ms344 KiB
#include <bits/stdc++.h>
// #include "art.h"
#define int long long
#define endl '\n'
using namespace std;

void solve(){
    int m, l; cin >> m >> l; 
    vector<int> v(2*m+1);
    vector<int> cur;

    l += m*(2*m+1);
    for (int i = 0; i < 2*m+1; i ++) {
        cin >> v[i];
        for (int j = 0; j < v[i]; j++) {
            cur.push_back(i);
        }
    }

    if (l < 0) {cout << "impossible" << endl; return;}
    vector<int> kn(l+1, 0); kn[0]=1;
    for (int x : cur){
        for (int i = l; i >= x; i--) {
            if (kn[i-x] != 0) kn[i] = max(kn[i], kn[i-x]+1);
        }
    }
    if (kn[l] == 0) cout << "impossible" << endl;
    else cout << kn[l] << endl;

    

}

signed main(){
    int t = 1;
    // cin >> t;
    while (t--)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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...