Submission #1287205

#TimeUsernameProblemLanguageResultExecution timeMemory
1287205kaiboySandcastle 2 (JOI22_ho_t5)C++20
10 / 100
5093 ms576 KiB
#include <algorithm> #include <iostream> using namespace std; const int N = 50000; const int ddi[] = { -1, 1, 0, 0 }; const int ddj[] = { 0, 0, -1, 1 }; int *aa[N]; int main() { ios_base::sync_with_stdio(false), cin.tie(NULL); int n, m; cin >> n >> m; for (int i = 0; i < n; i++) { aa[i] = new int[m]; for (int j = 0; j < m; j++) cin >> aa[i][j]; } int ans = 0; for (int il = 0; il < n; il++) for (int ir = il; ir < n; ir++) for (int jl = 0; jl < m; jl++) for (int jr = jl; jr < m; jr++) { int i_ = il, j_ = jl; for (int i = il; i <= ir; i++) for (int j = jl; j <= jr; j++) if (aa[i_][j_] < aa[i][j]) i_ = i, j_ = j; int k = 0; for (int i = i_, j = j_; ; ) { k++, i_ = -1, j_ = -1; for (int h = 0; h < 4; h++) { int ih = i + ddi[h], jh = j + ddj[h]; if (il <= ih && ih <= ir && jl <= jh && jh <= jr && aa[ih][jh] < aa[i][j] && (i_ == -1 || aa[i_][j_] < aa[ih][jh])) i_ = ih, j_ = jh; } if (i_ == -1 || aa[i][j] < aa[i_][j_]) break; i = i_, j = j_; } if (k == (ir - il + 1) * (jr - jl + 1)) ans++; } cout << ans << '\n'; 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...