Submission #1038590

#TimeUsernameProblemLanguageResultExecution timeMemory
103859012345678Uplifting Excursion (BOI22_vault)C++17
5 / 100
5083 ms8300 KiB
#include <bits/stdc++.h> using namespace std; const int nx=1e6+5, c=5e5; #define ll long long ll m, z, p[nx], n[nx], dp[nx], l; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>m>>l; for (int i=m; i>=1; i--) cin>>n[i]; cin>>z; for (int i=1; i<=m; i++) cin>>p[i]; for (int i=0; i<nx; i++) dp[i]=-1; dp[c]=z; for (int i=1; i<=m; i++) { for (int t=0; t<n[i]; t++) { for (int j=0; j<nx; j++) { if (j+i<nx&&dp[j+i]!=-1) dp[j]=max(dp[j], dp[j+i]+1); } } } for (int i=1; i<=m; i++) { for (int t=0; t<p[i]; t++) { for (int j=nx-1; j>=0; j--) { if (j-i>=0&&dp[j-i]!=-1) dp[j]=max(dp[j], dp[j-i]+1); } } } if (l+c<0||l+c>nx||dp[l+c]<1) cout<<"impossible"; else cout<<dp[l+c]; }
#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...