Submission #833866

#TimeUsernameProblemLanguageResultExecution timeMemory
833866vjudge1Bomb (IZhO17_bomb)C++17
24 / 100
386 ms60124 KiB
#include <bits/stdc++.h> using namespace std; int dpHorizontal[2505][2505] = {0}; int dpVertical[2505][2505] = {0}; char arr[2505][2505]; int main() { int n, m; cin >> n >> m; for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { cin >> arr[i][j]; } } int res = 0; int sum = 0; for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { if(arr[i - 1][j - 1] == '1') { dpHorizontal[i][j] = dpHorizontal[i][j - 1] + 1; } } } for(int i = 1; i <= m; i++) { for(int j = 1; j <= n; j++) { if(arr[j - 1][i - 1] == '1') { dpVertical[j][i] = dpVertical[j - 1][i] + 1; } } } int minHorizontal = -1; for(int i = 1; i <= n; i++) { for(int j = 1; j <= m; j++) { if(dpHorizontal[i][j + 1] == 0 && dpHorizontal[i][j] > 0) { if(minHorizontal == -1) { minHorizontal = dpHorizontal[i][j]; } else minHorizontal = min(minHorizontal, dpHorizontal[i][j]); } } } // cout << minHorizontal << endl; int minVertical = -1; for(int i = 1; i <= m; i++) { for(int j = 1; j <= n; j++) { if(dpVertical[j + 1][i] == 0 && dpVertical[j][i] > 0) { if(minVertical == -1) { minVertical = dpVertical[j][i]; } else minVertical= min(minVertical, dpVertical[j][i]); } } } res = minHorizontal * minVertical; cout << res << endl; return 0; }

Compilation message (stderr)

bomb.cpp: In function 'int main()':
bomb.cpp:20:6: warning: unused variable 'sum' [-Wunused-variable]
   20 |  int sum = 0;
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...