Submission #91111

#TimeUsernameProblemLanguageResultExecution timeMemory
91111inomUFO (IZhO14_ufo)C++14
35 / 100
2078 ms52780 KiB
#include <bits/stdc++.h> #define fi first #define se second #define pb push_back #define int long long #define sz(c) (int)(c).size() #define all(c) (c).begin(), (c).end() #define in freopen("robots.in", "r", stdin); #define out freopen("robots.out", "w", stdout); using namespace std; const int N = 100100; const int MOD = 1e9; const int INF = 1e15; int TN = 1; int n, m, r, k, p; vector<vector<int>> a; void solve() { cin >> n >> m >> r >> k >> p; a.resize(n + 1, vector<int>(m + 1)); for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cin >> a[i][j]; } } for (int i = 1; i <= k; i++) { char c; int x, h; cin >> c >> x >> h; if (c == 'W' || c == 'E') { if (c == 'W') { int cnt = r, j = 1; while (j <= m && cnt > 0) { if (a[x][j] >= h) { a[x][j]--; cnt--; } j++; } } else { int cnt = r, j = m; while (j >= 1 && cnt > 0) { if (a[x][j] >= h) { a[x][j]--; cnt--; } j--; } } } else { if (c == 'N') { int cnt = r, j = 1; while (j <= n && cnt > 0) { if (a[j][x] >= h) { a[j][x]--; cnt--; } j++; } } else { int cnt = r, j = n; while (j >= 1 && cnt > 0) { if (a[j][x] >= h) { a[j][x]--; cnt--; } j--; } } } } int ans = 0; p--; for (int i = 1; i + p <= n; i++) { for (int j = 1; j + p <= m; j++) { int sum = 0; for (int u = i; u <= i + p; u++) { for (int v = j; v <= j + p; v++) { sum += a[u][v]; } } ans = max(ans, sum); } } cout << ans << "\n"; return; } signed main() { // ios_base::sync_with_stdio(0); // in; out; // cin >> TN; while (TN--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...