Submission #2409048


Source Code Expand

#include <bits/stdc++.h>
#define range(i, a, b) for(int i = (a); i < (b); i++)
#define rep(i, a) range(i, 0, a)
using namespace std;

int h, w;

#include <boost/numeric/ublas/matrix.hpp>
using boost::numeric::ublas::matrix;
template <typename T>
class CumulativeSum2D {
	matrix<T> sum;
	public:
	CumulativeSum2D (int h, int w) : sum(matrix<T>(h + 1, w + 1)) {}

	void add(int x, int y, int num) {
		x++;
		y++;
		sum(x, y) += num;
	}

	void build() {
		for (int i = 1; i < sum.size1(); i++) {
			for (int j = 1; j < sum.size2(); j++) {
				sum(i, j) += sum(i, j - 1) + sum(i - 1, j) - sum(i - 1, j - 1);
			}
		}
	}

	T query(int sx, int sy, int gx, int gy) {
		return (sum(gx, gy) - sum(sx, gy) - sum(gx, sy) + sum(sx, sy));
	}
};

int main() {
	cin >> h >> w;
	CumulativeSum2D<int> white(h, w), black(h, w);
	rep (i, h) rep (j, w) {
		int in;
		cin >> in;
		(i + j) % 2 ? white.add(i, j, in) : black.add(i, j, in);
	}
	white.build();
	black.build();
	int ans = 0;
	range (i, 0, h) range (j, 0, w) range (k, i, h + 1) range (l, j, w + 1) {
		if (white.query(i, j, k, l) == black.query(i, j, k, l)) {
			ans = max(ans, (k - i) * (l - j));
		}
	}
	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task B - チョコレート
User Masumi
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1232 Byte
Status AC
Exec Time 916 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 2 ms 256 KB
subtask1_06.txt AC 5 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 2 ms 256 KB
subtask1_09.txt AC 914 ms 384 KB
subtask1_10.txt AC 126 ms 256 KB
subtask1_11.txt AC 900 ms 384 KB
subtask1_12.txt AC 901 ms 384 KB
subtask1_13.txt AC 901 ms 384 KB
subtask1_14.txt AC 915 ms 384 KB
subtask1_15.txt AC 916 ms 384 KB
subtask1_16.txt AC 866 ms 384 KB
subtask1_17.txt AC 731 ms 256 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 2 ms 256 KB
subtask1_20.txt AC 901 ms 384 KB