Submission #1550308


Source Code Expand

#include <string>
#include <queue>
#include <stack>
#include <vector>
#include <sstream>
#include <algorithm>
#include <deque>
#include <set>
#include <map>
#include <unordered_set>
#include <unordered_map>
#include <list>
#include <cstdio>
#include <iostream>
#include <cmath>
#include <climits>
#include <bitset>
#include <functional>
#include <numeric>
#include <ctime>
#include <cassert>
#include <cstring>
#include <fstream>

#define rep(i, a, b) for(int (i)=(a); (i)<(b); (i)++)
#define irep(i, a, b) for(int (i)=(a);(i)<=(b);(i)++)
#define rrep(i, a, b) for(int (i)=(a);(i)>=(b);(i)--)

using namespace std;

const int MOD = 1e9 + 7;

int main() {
    int h, w;
    cin >> h >> w;
    vector<vector<int>> dat(h + 1, vector<int>(w + 1));
    rep(i, 0, h) {
        rep(j, 0, w) {
            cin >> dat[i + 1][j + 1];
            if ((i + j) % 2)
                dat[i+1][j+1] *= -1;
        }
    }

    vector<vector<int>> accum(h + 1, vector<int>(w + 1, 0));

    irep(i, 1, h) {
        accum[i][1] = accum[i - 1][1] + dat[i][1];
    }
    irep(j, 1, w) {
        accum[1][j] = accum[1][j - 1] + dat[1][j];
    }

    irep(i, 2, h) {
        irep(j, 2, w) {
            accum[i][j] = accum[i][j - 1] + accum[i - 1][j] - accum[i - 1][j - 1] + dat[i][j];
        }
    }


    int maxx = 0;
    irep(i1, 1, h) {
        irep(j1, 1, w) {
            irep(i2, i1, h) {
                irep(j2, j1, w) {
                    int ret = accum[i2][j2] - accum[i1-1][j2] - accum[i2][j1-1] + accum[i1-1][j1-1];
                    if (ret == 0) {
                        maxx = max(maxx, (i2 - i1 + 1)*(j2 - j1 + 1));
                    }
                }
            }
        }
    }

    cout << maxx << endl;

    return 0;
}

Submission Info

Submission Time
Task B - チョコレート
User peradfn1126
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1807 Byte
Status AC
Exec Time 46 ms
Memory 384 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 100 / 100
Status
AC × 5
AC × 25
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 AC 1 ms 256 KB
subtask0_sample-04.txt AC 1 ms 256 KB
subtask0_sample-05.txt AC 1 ms 256 KB
subtask1_01.txt AC 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 1 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 44 ms 384 KB
subtask1_10.txt AC 8 ms 256 KB
subtask1_11.txt AC 32 ms 384 KB
subtask1_12.txt AC 32 ms 384 KB
subtask1_13.txt AC 32 ms 384 KB
subtask1_14.txt AC 45 ms 384 KB
subtask1_15.txt AC 46 ms 384 KB
subtask1_16.txt AC 31 ms 384 KB
subtask1_17.txt AC 35 ms 384 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 1 ms 256 KB
subtask1_20.txt AC 36 ms 384 KB