Submission #967564

#TimeUsernameProblemLanguageResultExecution timeMemory
967564njoopBob (COCI14_bob)C++14
0 / 120
161 ms22084 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; int n, m, arr[1010][1010], pref[2][1010][1010], w, h, mxh; ll ans; int main() { cin.tie(0)->sync_with_stdio(0); cin >> n >> m; for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { cin >> arr[i][j]; } } for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { if(arr[i][j] == arr[i][j-1]) { pref[0][i][j] = pref[0][i][j-1] + 1; } else { pref[0][i][j] = 1; } } } for(int j=1; j<=m; j++) { for(int i=1; i<=n; i++) { if(arr[i][j] == arr[i-1][j]) { pref[1][i][j] = pref[1][i-1][j] + 1; } else { pref[1][i][j] = 1; } } } for(int i=1; i<=n; i++) { for(int j=1; j<=m; j++) { w = pref[0][i][j]; h = pref[1][i][j]; ans += h; for(int k=j-1; k>j-w; k--) { h = max(h, pref[1][i][k]); ans += h; } } } cout << ans; 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...