Submission #1247821


Source Code Expand

/*
#pragma region GNUC
//https://yukicoder.me/wiki/auto_vectorization
#ifdef __GNUC__
#pragma GCC optimize ("O3")
#pragma GCC target ("avx")
#endif
#pragma endregion
*/
#define _USE_MATH_DEFINES
#pragma region include
#include <iostream>
#include <iomanip>
#include <stdio.h>

#include <sstream>
#include <algorithm>
#include <cmath>

#include <string>
#include <cstring>
#include <vector>
#include <tuple>

#include <queue>
#include <complex>
#include <set>
#include <map>
#include <stack>
#include <list>

#include <fstream>
#include <random>
//#include <time.h>
#include <ctime>
#pragma endregion //#include
/////////
#define REP(i, x, n) for(int i = x; i < n; ++i)
#define rep(i,n) REP(i,0,n)
/////////
#pragma region typedef
typedef long long LL;
typedef long double LD;
typedef unsigned long long ULL;
#pragma endregion //typedef
////定数
const int INF = (int)1e9;
const LL MOD = (LL)1e9+7;
const LL LINF = (LL)1e18;
const double PI = acos(-1.0);
const double EPS = 1e-9;
/////////
using namespace::std;
/////////

void solve(){
	int H,W;
	cin >> H >> W;
	vector< vector<int> > fld(H,vector<int>(W));
	for(int r=0;r<H;++r){
		for(int c=0;c<W;++c){
			int X;
			cin >> X;
			if( (r+c)%2 == 0 ){
				fld[r][c] = X;
			}else{
				fld[r][c] = -X;
			}
		}
	}
	for(int r=0;r<H;++r){
		for(int c=0;c<W;++c){
			if(c>0)fld[r][c]+=fld[r][c-1];
		}
	}
	for(int r=0;r<H;++r){
		for(int c=0;c<W;++c){
			if(r>0)fld[r][c]+=fld[r-1][c];
		}
	}
	int ans = 0;
	for(int r1 = 0;r1<H;++r1){
		for(int c1=0;c1<W;++c1){
			for(int r2=r1;r2<H;++r2){
				for(int c2=c1;c2<W;++c2){
					int temp=0;
					temp += fld[r2][c2];
					if(r1>0)temp-=fld[r1-1][c2];
					if(c1>0)temp-=fld[r2][c1-1];
					if(r1>0&&c1>0)temp+=fld[r1-1][c1-1];
					if( temp != 0 ) continue;
					ans = max(ans,(r2-r1+1)*(c2-c1+1) );
				}
			}
		}
	}
	cout << ans << endl;
}

#pragma region main
signed main(void){
	std::cin.tie(0);
	std::ios::sync_with_stdio(false);
	std::cout << std::fixed;//小数を10進数表示
	cout << setprecision(16);//小数点以下の桁数を指定//coutとcerrで別	
	
	solve();
}
#pragma endregion //main()

Submission Info

Submission Time
Task B - チョコレート
User akarin55
Language C++14 (GCC 5.4.1)
Score 100
Code Size 2211 Byte
Status AC
Exec Time 68 ms
Memory 256 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 2 ms 256 KB
subtask1_07.txt AC 1 ms 256 KB
subtask1_08.txt AC 1 ms 256 KB
subtask1_09.txt AC 65 ms 256 KB
subtask1_10.txt AC 11 ms 256 KB
subtask1_11.txt AC 50 ms 256 KB
subtask1_12.txt AC 50 ms 256 KB
subtask1_13.txt AC 50 ms 256 KB
subtask1_14.txt AC 66 ms 256 KB
subtask1_15.txt AC 68 ms 256 KB
subtask1_16.txt AC 48 ms 256 KB
subtask1_17.txt AC 53 ms 256 KB
subtask1_18.txt AC 1 ms 256 KB
subtask1_19.txt AC 1 ms 256 KB
subtask1_20.txt AC 53 ms 256 KB