Submission #1213064

#TimeUsernameProblemLanguageResultExecution timeMemory
1213064AvianshSoccer Stadium (IOI23_soccer)C++20
0 / 100
1039 ms2162688 KiB
#include "soccer.h" #include <bits/stdc++.h> using namespace std; int biggest_stadium(int n, vector<vector<int>> F) { int dp[n][n][n][n][n]; for(int i = 0;i<n;i++){ for(int j = 0;j<n;j++){ for(int k = 0;k<n;k++){ for(int l = 0;l<n;l++){ fill(dp[i][j][k][l],dp[i][j][k][l]+n,-1e8); } } } } //{start point,endpoint,l in curr row, r in curr row, common column} for(int k = 0;k<n;k++){ for(int s = 0;s<n;s++){ //start point s. for(int e = s;e<n;e++){ //end point e if(s==e){ //base case. for(int l = 0;l<n;l++){ for(int r = l;r<n;r++){ if(F[s][r]){ break; } if(k<l||k>r) continue; dp[s][e][l][r][k]=r-l+1; } } continue; } for(int l = 0;l<n;l++){ for(int r = l;r<n;r++){ if(F[e][r]) break; if(k<l||k>r) continue; for(int pl = l;pl<=r;pl++){ for(int pr = pl;pr<=r;pr++){ if(k<pl||k>pr) continue; dp[s][e][l][r][k]=max(dp[s][e][l][r][k],dp[s][e-1][pl][pr][k]+(r-l+1)); } } } } } //now end point above s, ie reverse. for(int e = s-1;e>=0;e--){ //end point e for(int l = 0;l<n;l++){ for(int r = l;r<n;r++){ if(F[e][r]) break; if(k<l||k>r) continue; for(int pl = l;pl<=r;pl++){ for(int pr = pl;pr<=r;pr++){ if(k<pl||k>pr) continue; dp[s][e][l][r][k]=max(dp[s][e][l][r][k],dp[s][e+1][pl][pr][k]+(r-l+1)); } } } } } } } int ans = 0; for(int k = 0;k<n;k++){ for(int s = 0;s<n;s++){ for(int e = s;e<n;e++){ for(int i = s;i<=e;i++){ for(int l = 0;l<n;l++){ for(int r = l;r<n;r++){ if(k<l||k>r) continue; ans=max(ans,dp[s][i][l][r][k]+dp[e][i][l][r][k]-(r-l+1)); } } } } } } return ans; }
#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...