Submission #337757

#TimeUsernameProblemLanguageResultExecution timeMemory
337757tengiz05Hyper-minimum (IZhO11_hyper)C++17
100 / 100
347 ms52460 KiB
#include <bits/stdc++.h> using namespace std; #define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define all(x) (x).begin(), (x).end() #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define PI acos(-1) #define ld long double const int mod = 1e9+7, N = 36; int msb(int val){return sizeof(int)*8-__builtin_clzll(val);} int n, m; int ans[5][N][N][N][N]; void solve(int test_case){ int i, j, k, l; cin >> n >> m; for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) for(l=1;l<=n;l++) cin >> ans[4][i][j][k][l]; int li = n-m+1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) for(l=1;l<=n;l++){ ans[3][i][j][k][l] = mod; for(int t=l;t<=min(n,l+m-1);t++){ ans[3][i][j][k][l] = min(ans[3][i][j][k][l], ans[4][i][j][k][t]); } } for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) for(l=1;l<=n;l++){ ans[2][i][j][k][l] = mod; for(int t=k;t<=min(n,k+m-1);t++){ ans[2][i][j][k][l] = min(ans[2][i][j][k][l], ans[3][i][j][t][l]); } } for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) for(l=1;l<=n;l++){ ans[1][i][j][k][l] = mod; for(int t=j;t<=min(n,j+m-1);t++){ ans[1][i][j][k][l] = min(ans[1][i][j][k][l], ans[2][i][t][k][l]); } } for(i=1;i<=n;i++) for(j=1;j<=n;j++) for(k=1;k<=n;k++) for(l=1;l<=n;l++){ ans[0][i][j][k][l] = mod; for(int t=i;t<=min(n,i+m-1);t++){ ans[0][i][j][k][l] = min(ans[0][i][j][k][l], ans[1][t][j][k][l]); } } for(i=1;i<=li;i++) for(j=1;j<=li;j++) for(k=1;k<=li;k++) for(l=1;l<=li;l++) cout << ans[0][i][j][k][l] << ' '; cout << '\n'; return; } signed main(){ FASTIO; #define MULTITEST 0 #if MULTITEST int ___T; cin >> ___T; for(int T_CASE = 1; T_CASE <= ___T; T_CASE++) solve(T_CASE); #else solve(1); #endif return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...