제출 #1220205

#제출 시각아이디문제언어결과실행 시간메모리
1220205Younis_DwaiCookies (JOI23_cookies)C++20
6 / 100
1 ms328 KiB
#pragma GCC optimize("Ofast,O3,unroll-loops") #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt") #include<bits/stdc++.h> #define int long long #define F first #define S second #define pb push_back #define popp pop_back #define in insert #define endl "\n" #define mid (l+r)/2 using namespace std; const int N=505; int n,A[N],m,b[N],dp[505]; int32_t main(){ ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); cin>>n; for(int i=1;i<=n;i++) cin>>A[i]; cin>>m; for(int i=1;i<=m;i++) cin>>b[i]; dp[0]=0; for(int i=1;i<=n;i++) dp[i]=1e9; for(int i=1;i<=m;i++){ for(int j=0;j+b[i]<=n;j++){ dp[j+b[i]]=min(dp[j+b[i]],dp[j]+1); } } //for(int i=0;i<=7;i++) cout<<" # "<<i<<' '<<dp[i]<<endl; if(dp[n]==1e9) cout<<-1<<endl; else{ cout<<dp[n]<<endl; int sz=n,idb=0,used=0; while(sz!=0){ for(int i=1;i<=m;i++){ if(sz-b[i]>=0 && dp[sz-b[i]]+1==dp[sz]){ sz-=b[i]; ++idb; cout<<b[i]<<' '; for(int j=1;j<=b[i];j++){ cout<<++used<<' '; } cout<<endl; break ; } } } } return 0; }
#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...