Submission #714335

#TimeUsernameProblemLanguageResultExecution timeMemory
714335vjudge1Uplifting Excursion (BOI22_vault)C++17
5 / 100
5061 ms4300 KiB
#include<bits/stdc++.h> using namespace std; long long res[510000]; int main () { for(int i = 0;i<510000;i++)res[i]=-1e18; res[0]=0; long long m, l; cin >> m >> l; long long a[2*m+1]; for(int i = 0;i<=2*m;i++) { cin >> a[i]; } if(l<0) { l=-l; reverse(a,a+2*m+1); } if(l>=510000) { cout << "impossible\n"; return 0; } for(int i = m+1;i<=2*m;i++) { for(int cnt=1;cnt<=a[i];cnt++) { for(int j = 510000-1;j>=(i-m);j--) { res[j]=max(res[j], res[j-(i-m)]+1); } } } for(int i = 0;i<=m-1;i++) { for(int cnt=1;cnt<=a[i];cnt++) { for(int j = 0;j<510000;j++) { if((j-(i-m))<510000)res[j]=max(res[j], res[j-(i-m)]+1); } } } res[l]+=a[m]; if(res[l]<0)cout<<"impossible\n"; else cout << (res[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...