Submission #923919

#TimeUsernameProblemLanguageResultExecution timeMemory
923919PringMaja (COCI18_maja)C++14
44 / 110
2048 ms760 KiB
#include <bits/stdc++.h> #pragma GCC optimize("O3","unroll-loops") #pragma GCC target("avx2","popcnt") using namespace std; #ifdef MIKU #define debug(x...) cout << '[' << #x << "] : ", dout(x) void dout() { cout << endl; } template <typename T, typename ...U> void dout(T t, U ...u) { cout << t << (sizeof...(u) ? ", " : ""); dout(u...); } #else #define debug(...) 39 #endif #define int long long #define fs first #define sc second #define mp make_pair #define FOR(i, j, k) for (int i = j, Z = k; i < Z; i++) typedef pair<int, int> pii; const int MXN = 105, INF = 3.9e18; int n, m, x, y, k, c[MXN][MXN]; const int dx[4] = {1, -1, 0, 0}, dy[4] = {0, 0, 1, -1}; int dp[2][MXN][MXN]; bool OUT(int x, int y, int d) { x += dx[d]; y += dy[d]; if (!(0 <= x && x < n)) return true; if (!(0 <= y && y < m)) return true; return false; } void DP() { FOR(i, 0, n) FOR(j, 0, m) { dp[1][i][j] = -INF; FOR(d, 0, 4) { if (OUT(i, j, d)) continue; dp[1][i][j] = max(dp[1][i][j], c[i][j] + dp[0][i + dx[d]][j + dy[d]]); } } FOR(i, 0, n) FOR(j, 0, m) dp[0][i][j] = dp[1][i][j]; } void miku() { cin >> n >> m >> x >> y >> k; x--, y--; FOR(i, 0, n) FOR(j, 0, m) cin >> c[i][j]; FOR(i, 0, n) FOR(j, 0, m) dp[0][i][j] = -INF; dp[0][x][y] = 0; while (k--) { DP(); } cout << dp[0][x][y] << '\n'; } int32_t main() { cin.tie(0) -> sync_with_stdio(false); cin.exceptions(iostream::failbit); miku(); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...