Submission #711731

#TimeUsernameProblemLanguageResultExecution timeMemory
711731Darren0724Skyline (IZhO11_skyline)C++17
0 / 100
1 ms980 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(),x.end() const int mod=1e9+7; const int INF=2e9; const int N=300; signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n;cin>>n; vector<int> v(n); for(int i=0;i<n;i++){ cin>>v[i]; } vector<vector<int>> dp(N+1,vector<int>(N+1,INF)),dp1(N+1,vector<int>(N+1,INF)); dp[0][0]=0; for(int i=0;i<n;i++){ for(int j=0;j<=v[i];j++){ for(int k=j;k<=N;k++){ dp1[k-j][v[i]-j]=min(dp1[k-j][v[i]-j],dp[j][k]+7*j); } } for(int j=N-1;j>=0;j--){ for(int k=N-1;k>=0;k--){ dp1[j][k]=min(dp1[j][k],dp1[j+1][k+1]+5); } } for(int j=N-1;j>=0;j--){ for(int k=N;k>=0;k--){ dp1[j][k]=min(dp1[j][k],dp1[j+1][k]+3); } } dp=dp1; dp1.assign(N+1,vector<int>(N+1,INF)); } cout<<dp[0][0]<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...