Submission #1128768

#TimeUsernameProblemLanguageResultExecution timeMemory
1128768satbergenBomb (IZhO17_bomb)C++20
14 / 100
76 ms6564 KiB
    #include <bits/stdc++.h>
        #define y1 sat
        #define dl double
        #define int long long
        #define ff first
        #define ss second
        // #define sz size
        #define pb push_back
        #define wrans cout << -1
        #define neutral cout << 0  
    using namespace std;
    const int N=1e6+1;
    const int M=2500;
    const int MOD=1e9+7;  
    const double long E=2.718281828459045;
    const double long pi=3.14159265359;
    const long long INF=1e18;
    char a[M][M];
    // ╔╗╔╗╔╗╔╗╔╗╔╗╔═╗
    // ║║║║║║║║║║║║╚╗║
    // ║╚╝║║║║║║╚╝║╔╝║
    // ║╔╗║║║║║║╔╗║║╔╝
    // ║║║║║╚╝║║║║║╔╗─
    // ╚╝╚╝╚══╝╚╝╚╝╚╝─
    // int binpow(int a,int b){
    //     if(b==0) return 1;    
    //     if(b%2 == 0){
    //         int x=binpow(a,b/2);
    //         return (x*x)%MOD;
    //     }
    //     else  return (a*binpow(a,b-1))%MOD;
    // }
    void solve(){
        int n,m;
        cin >> n >> m;
        int mnx=10000;
        for(int i = 1 ; i <= n ; i++){
            int cnt=0;
            for(int j = 1 ; j <= m ; j++){
                cin >> a[i][j];
                if(a[i][j]=='1'){
                    cnt++;
                }
                else{
                    if(cnt>=1) mnx=min(cnt,mnx);
                    cnt=0;
                }
            }
            if(cnt>=1) mnx=min(mnx,cnt);
        }
        int mny=10000;
        for(int j = 1 ; j <= m ; j++){
            int cnt=0;
            for(int i = 1 ; i <= n ; i++){
                if(a[i][j]=='1'){
                    cnt++;
                }
                else{
                    if(cnt>=1) mny=min(cnt,mny);
                    cnt=0;
                }
            }
            if(cnt>=1) mny=min(mny,cnt);
        }
        // cout << mnx*mny;
        if(mnx==10000&&mny==mnx){
            cout << 0;
            return;
        }
        cout << mnx*mny<<'\n';
    }
    signed main(){
        ios_base::sync_with_stdio(false); cin.tie(nullptr);
    //  cout.tie(0);
        // for(int i = 2 ; i <= INF ; i++){
        //     if(prime[i]==0){
        //         for(int j = 2 ; i*j<=INF ; j++){
        //             prime[i*j]=1;
        //         }
        //     }
        // }
        // fact();
        int test=1;
        // cin >> test;   
        while(test--){
            solve();
        }
        return 0;
    }
#Verdict Execution timeMemoryGrader output
Fetching results...