Submission #576710

#TimeUsernameProblemLanguageResultExecution timeMemory
576710LucppUplifting Excursion (BOI22_vault)C++17
5 / 100
1587 ms1364 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAX = 25*50*51; const int INF = 1e8; int main(){ cin.tie(0); ios_base::sync_with_stdio(false); int M; ll L; cin >> M >> L; vector<int> a(2*M+1); for(int i = 0; i < 2*M+1; ++i) cin >> a[i]; if(L > MAX || L < -MAX){ cout << "impossible\n"; return 0; } vector<int> dp(2*MAX+1, -INF); dp[MAX] = 0; for(int i = 0; i < 2*M+1; ++i){ int v = i-M; vector<int> dp2(2*MAX+1, -INF); for(int j = 0; j < 2*MAX+1; ++j){ for(int k = 0; k <= a[i]; ++k){ if(j+v*k < 0 || j+v*k >= 2*MAX+1) break; dp2[j+v*k] = max(dp2[j+v*k], dp[j]+k); } } dp = dp2; } if(dp[MAX+L] < 0) cout << "impossible\n"; else cout << dp[MAX+L] << "\n"; }
#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...