Submission #1352524

#TimeUsernameProblemLanguageResultExecution timeMemory
1352524vahagngUplifting Excursion (BOI22_vault)C++20
0 / 100
5089 ms3612 KiB
#include <bits/stdc++.h>
using namespace std;

const int N = 3e5;

long long n, l;
long long a[N];

int main(){
    cin >> n >> l;
    for(int i = 0; i < 2*n + 1; i++){
        cin >> a[i];
    }
    map<int,int> dp;
    dp[0] = 0;
    for(int i = 0; i < 2*n + 1; i++){
        map<int,int> dp1 = dp;
        for(int j = 0; j < a[i]; j++){
            for(auto z : dp){
                dp1[z.first + i - n] = max(dp1[z.first + i - n], dp[z.first] + 1);
            }
            dp = dp1;
        }
    }
    // for(auto i : dp){
    //     cerr << i.first << ' ' << i.second << endl;
    // }
    if(dp[l] == 0){
        cout << "impossible\n";
        return 0;
    }
    cout << dp[l] << endl;
}
#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...