Submission #515932

#TimeUsernameProblemLanguageResultExecution timeMemory
515932Be_dosBomb (IZhO17_bomb)C++17
24 / 100
60 ms13264 KiB
#include <iostream>
#include <cmath>
#include <cctype>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <deque>
#include <stack>
#include <unordered_set>
#include <sstream>
#include <cstring>
#include <iomanip>
#include <queue>
#include <unordered_map>
#include <random>
#include <cfloat>
#include <chrono>
#include <bitset>
#include <complex>
#include <immintrin.h>
#include <cassert>

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(0);

    int32_t n, m;
    std::cin >> n >> m;

    std::string* str = new std::string[n];
    for(int32_t i = 0; i < n; i++)
        std::cin >> str[i];

    int32_t ans_w = m, ans_h = n;
    for(int32_t i = 0; i < n; i++) {
        int32_t len = 0;
        for(int32_t j = 0; j < m; j++)
            if(str[i][j] == '1') {
                len++;
            } else if(len > 0) {
                ans_w = std::min(ans_w, len);
                len = 0;
            }
        if(len > 0)
            ans_w = std::min(ans_w, len);
    }
    for(int32_t i = 0; i < m; i++) {
        int32_t len = 0;
        for(int32_t j = 0; j < n; j++)
            if(str[j][i] == '1') {
                len++;
            } else if(len > 0) {
                ans_h = std::min(ans_h, len);
                len = 0;
            }
        if(len > 0)
            ans_h = std::min(ans_h, len);
    }
    std::cout << ans_w * ans_h;
    return 0;
}





#Verdict Execution timeMemoryGrader output
Fetching results...