Submission #1920536


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define vi vector<int>
#define vvi vector<vi>
#define vs vector<string>
#define pb push_back
#define P pair<int,int>
#define vp vector<P>
#define PP pair<int,P>
#define vpp vector<PP>
#define fi first
#define se second
#define INF (1<<30)
#define MOD 1000000007
#define REP(i,n) for(int i=0;i<n;i++)
#define REPR(i,n) for(int i=n;i>=0;i--)
#define FOR(i,m,n) for(int i=m;i<n;i++)
#define all(x) (x).begin(),(x).end()
void debug(vvi vec){
    REP(i,vec.size()){
        REP(j,vec[i].size()){
            if(j)cerr<<" ";cerr<<vec[i][j];
        }cerr<<endl;
    }cerr<<endl;
}
int main(){
    int h,w;
    cin>>h>>w;
    vvi vec(h,vi(w));
    REP(i,h){
        REP(j,w){
            cin>>vec[i][j];
        }
    }
    vvi a(h,vi(w));
    vvi b(h,vi(w));
    REP(i,h){
        REP(j,w){
            if(!((i%2)^(j%2))){
                a[i][j]+=vec[i][j];
            }else{
                b[i][j]+=vec[i][j];
            }
        }
    }
    REP(i,h){
        FOR(j,1,w){
            a[i][j]+=a[i][j-1];
        }
    }
    FOR(i,1,h){
        REP(j,w){
            a[i][j]+=a[i-1][j];
        }
    }
    REP(i,h){
        FOR(j,1,w){
            b[i][j]+=b[i][j-1];
        }
    }
    FOR(i,1,h){
        REP(j,w){
            b[i][j]+=b[i-1][j];
        }
    }
    int ans=0;
    REP(i,h){
        REP(j,w){
            FOR(k,i+1,h){
                FOR(l,j+1,w){
                    int p=a[k][l];
                    if(i){
                        p-=a[i-1][l];
                    }
                    if(j){
                        p-=a[k][j-1];
                    }
                    if(i&&j){
                        p+=a[i-1][j-1];
                    }
                    int q=b[k][l];
                    if(i){
                        q-=b[i-1][l];
                    }
                    if(j){
                        q-=b[k][j-1];
                    }
                    if(i&&j){
                        q+=b[i-1][j-1];
                    }
                    if(p==q){
                        ans=max(ans,(k-i+1)*(l-j+1));
                    }
                }
            }
        }
    }
    cout<<ans<<endl;
    return 0;
}

Submission Info

Submission Time
Task B - チョコレート
User SugarDragon5
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2305 Byte
Status WA
Exec Time 103 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 100
Status
AC × 3
WA × 2
AC × 19
WA × 6
Set Name Test Cases
Sample subtask0_sample-01.txt, subtask0_sample-02.txt, subtask0_sample-03.txt, subtask0_sample-04.txt, subtask0_sample-05.txt
All subtask0_sample-01.txt, subtask0_sample-02.txt, subtask0_sample-03.txt, subtask0_sample-04.txt, subtask0_sample-05.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_16.txt, subtask1_17.txt, subtask1_18.txt, subtask1_19.txt, subtask1_20.txt
Case Name Status Exec Time Memory
subtask0_sample-01.txt AC 1 ms 256 KB
subtask0_sample-02.txt AC 1 ms 256 KB
subtask0_sample-03.txt WA 1 ms 256 KB
subtask0_sample-04.txt AC 1 ms 256 KB
subtask0_sample-05.txt WA 1 ms 256 KB
subtask1_01.txt WA 1 ms 256 KB
subtask1_02.txt AC 1 ms 256 KB
subtask1_03.txt AC 1 ms 256 KB
subtask1_04.txt AC 1 ms 256 KB
subtask1_05.txt AC 1 ms 256 KB
subtask1_06.txt AC 2 ms 256 KB
subtask1_07.txt WA 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 101 ms 384 KB
subtask1_10.txt AC 15 ms 256 KB
subtask1_11.txt AC 88 ms 384 KB
subtask1_12.txt AC 88 ms 384 KB
subtask1_13.txt AC 88 ms 384 KB
subtask1_14.txt AC 102 ms 384 KB
subtask1_15.txt AC 103 ms 384 KB
subtask1_16.txt AC 85 ms 384 KB
subtask1_17.txt AC 81 ms 384 KB
subtask1_18.txt WA 1 ms 256 KB
subtask1_19.txt WA 1 ms 256 KB
subtask1_20.txt AC 100 ms 384 KB