AtCoder Regular Contest 025

Submission #1350408

Source codeソースコード

#include "bits/stdc++.h"
#include <regex>
#define _USE_MATH_DEFINES
#include <math.h>

using namespace std;

#ifndef _DEBUG
#define main_ main
#endif
#define FOR(i,s,e) for (int i = int(s); i < int(e); ++i)
#define REP(i,e) FOR(i,0,e)
#define INF (INT_MAX/2)
#define EPS (1.0e-8)
#define LINF (LONG_MAX/2)

typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<bool> vb;
typedef vector<string> vs;

template <typename T>
using keyVal = pair<string, T>;
template<typename T>
bool val_greater(const keyVal<T>& left, const keyVal<T>& right) {
	return left.second > right.second;
}

vs split(string str, char sep) {
	vs v; stringstream ss(str); string t;
	while (getline(ss, t, sep)) v.push_back(t);
	return v;
}

void init_global() {}

int main_() {
	cin.tie(0);
	ios::sync_with_stdio(false);
#ifndef _DEBUG
	init_global();
#endif

	int H, W; cin >> H >> W;
	vvi C(H, vi(W));
	FOR(i, 0, H) {
		FOR(j, 0, W) {
			cin >> C[i][j];
		}
	}

	vvi So(H + 1, vi(W + 1, 0));
	vvi Se(H + 1, vi(W + 1, 0));
	FOR(i, 0, H) {
		FOR(j, 0, W) {
			if ((i + j) % 2 == 0) {
				So[i + 1][j + 1] = C[i][j];
			}
			else {
				Se[i + 1][j + 1] = C[i][j];
			}
		}
	}
	FOR(i, 1, H + 1) {
		FOR(j, 2, W + 1) {
			So[i][j] += So[i][j - 1];
			Se[i][j] += Se[i][j - 1];
		}
	}
	FOR(i, 2, H + 1) {
		FOR(j, 1, W + 1) {
			So[i][j] += So[i - 1][j];
			Se[i][j] += Se[i - 1][j];
		}
	}

	int ans = 0;
	FOR(u, 0, H) {
		FOR(d, u, H) {
			FOR(l, 0, W) {
				FOR(r, l, W) {
					int b = So[d + 1][r + 1]
						- So[d + 1][l] - So[u][r + 1] + So[u][l];
					int w = Se[d + 1][r + 1]
						- Se[d + 1][l] - Se[u][r + 1] + Se[u][l];

					if (b == w) ans = max(ans, (d - u + 1)*(r - l + 1));
				}
			}
		}
	}

	cout << ans << endl;
	return 0;
}

Submission

Task問題 B - チョコレート
User nameユーザ名 apprec
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 100
Source lengthソースコード長 1973 Byte
File nameファイル名
Exec time実行時間 58 ms
Memory usageメモリ使用量 384 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - subtask0_sample-01.txt,subtask0_sample-02.txt,subtask0_sample-03.txt,subtask0_sample-04.txt,subtask0_sample-05.txt
All 100 / 100 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

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
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 2 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 56 ms 384 KB
subtask1_10.txt AC 10 ms 256 KB
subtask1_11.txt AC 46 ms 384 KB
subtask1_12.txt AC 46 ms 384 KB
subtask1_13.txt AC 46 ms 384 KB
subtask1_14.txt AC 57 ms 384 KB
subtask1_15.txt AC 58 ms 384 KB
subtask1_16.txt AC 44 ms 384 KB
subtask1_17.txt AC 45 ms 384 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 1 ms 256 KB
subtask1_20.txt AC 56 ms 384 KB