제출 #714336

#제출 시각아이디문제언어결과실행 시간메모리
714336vjudge1Uplifting Excursion (BOI22_vault)C++17
5 / 100
5058 ms2380 KiB
#include<bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") using namespace std; int res[510000]; int main () { cin.tie(0)->sync_with_stdio(0); for(int i = 0;i<510000;i++)res[i]=-1e9; res[0]=0; long long m, l; cin >> m >> l; int 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...