Submission #901494

# Submission time Handle Problem Language Result Execution time Memory
901494 2024-01-09T13:19:15 Z LOLOLO Hyper-minimum (IZhO11_hyper) C++14
0 / 100
2000 ms 241300 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define sz(x)   (int)(x).size()
#define len(x)  (int)(x).length()
#define cntbit(x)  builtin_popcnt(x)
#define f   first
#define s   second
#define pb  push_back

const int N = 36;
int dp[N][N][N][N][N];

void minimize(int &a, int b) {
    if (a > b)
        a = b;
}

ll solve() {
    memset(dp, 0x3f, sizeof(dp));

    int n, m;
    cin >> n >> m;

    n--;
    m--;
    for (int a = 0; a <= n; a++) {
        for (int b = 0; b <= n; b++) {
            for (int c = 0; c <= n; c++) {
                for (int d = 0; d <= n; d++) {
                    cin >> dp[a][b][c][d][0];
                }
            }
        }
    }

    vector < vector <int>> all;
    for (int mask = 0; mask < (1 << 4); mask++) {
        vector <int> v;
        for (int j = 0; j < 4; j++) {
            if (mask & (1 << j)) {
                v.pb(1);
            } else {
                v.pb(0);
            }
        }

        all.pb(v);
    }

    for (int a = n; a >= 0; a--) {
        for (int b = n; b >= 0; b--) {
            for (int c = n; c >= 0; c--) {
                for (int d = n; d >= 0; d--) {
                    for (int k = 1; k <= m; k++) {
                        for (auto x : all) {
                            minimize(dp[a][b][c][d][k], dp[a + x[0]][b + x[1]][c + x[2]][d + x[3]][k - 1]);
                        }
                    }
                }
            }
        }
    }

    for (int a = 0; a + m <= n; a++) {
        for (int b = 0; b + m <= n; b++) {
            for (int c = 0; c + m <= n; c++) {
                for (int d = 0; d + m <= n; d++) {
                    cout << dp[a][b][c][d][m] << " ";
                }
            }
        }
    }

    return 0;
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int t = 1;
    //cin >> t;

    while (t--) {
        solve();
        //cout << solve() << '\n';
    }

}
# Verdict Execution time Memory Grader output
1 Correct 28 ms 237064 KB Output is correct
2 Correct 27 ms 236984 KB Output is correct
3 Correct 52 ms 237072 KB Output is correct
4 Correct 40 ms 237140 KB Output is correct
5 Correct 34 ms 237140 KB Output is correct
6 Correct 93 ms 237612 KB Output is correct
7 Correct 154 ms 237396 KB Output is correct
8 Correct 782 ms 238164 KB Output is correct
9 Correct 55 ms 239628 KB Output is correct
10 Correct 602 ms 238116 KB Output is correct
11 Correct 1026 ms 239936 KB Output is correct
12 Execution timed out 2048 ms 241300 KB Time limit exceeded
13 Halted 0 ms 0 KB -