Submission #183860


Source Code Expand

#include <vector>
#include <list>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <deque>
#include <algorithm>
#include <utility>
#include <functional>
#include <sstream>
#include <iostream>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <string>
#include <cstring>
#include <ctime>
#include <climits>
#include <cassert>
#include <memory>
#include <time.h>
using namespace std;
inline int toInt(string s) {int v; istringstream sin(s);sin>>v;return v;}
template<class T> inline string toString(T x) {ostringstream sout;sout<<x;return sout.str();}
typedef vector<int> vi;
typedef vector<vi> vvi;
typedef vector<string> vs;
typedef pair<int, int> pii;
typedef long long ll;
#define ALL(a) (a).begin(),(a).end()
#define RALL(a) (a).rbegin(),(a).rend()
#define EXIST(s,e) ((s).find(e)!=(s).end())
#define FOR(i,a,b) for(int i=(a);i<(b);++i)
#define REP(i,n) FOR(i,0,n)
const double EPS = 1e-9;
const double PI  = acos(-1.0);

typedef vector<vvi> vvvi;

int main(){
	int n,m;
	cin>>n>>m;
	vvi c(n,vi(m));
	REP(i,n){
		REP(j,m){
			cin>>c[i][j];
		}
	}

	vvvi sum(2,vvi(n+1,vi(m+1)));
	REP(col,2){
		sum[col][1][1]=((1+1)%2==col)*c[0][0];
		REP(i,n){
			REP(j,m){
				if(j==0){
					sum[col][i+1][j+1]=((i+j)%2==col)*c[i][j];
				}else{
					sum[col][i+1][j+1]=sum[col][i+1][j]+((i+j)%2==col)*c[i][j];
				}
			}
		}
		REP(j,m){
			FOR(i,1,n){
				sum[col][i+1][j+1]+=sum[col][i][j+1];
			}
		}
	}

	int ans=0;
	REP(fy,n){
		REP(fx,m){
			FOR(ty,fy,n){
				vi num(2);
				FOR(tx,fx,m){
					REP(i,2){
						num[i]=sum[i][ty+1][tx+1]-sum[i][ty+1][fx]-sum[i][fy][tx+1]+sum[i][fy][fx];
					}
					if(num[0]==num[1]){
						ans=max(ans,(ty-fy+1)*(tx-fx+1));
						//cerr<<ans<<endl;
					}
				}
			}
		}
	}
	cout<<ans<<endl;
}

Submission Info

Submission Time
Task B - チョコレート
User SSJJ
Language C++ (G++ 4.6.4)
Score 100
Code Size 1864 Byte
Status AC
Exec Time 233 ms
Memory 1056 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 20 ms 744 KB
subtask0_sample-02.txt AC 20 ms 676 KB
subtask0_sample-03.txt AC 20 ms 924 KB
subtask0_sample-04.txt AC 20 ms 924 KB
subtask0_sample-05.txt AC 20 ms 752 KB
subtask1_01.txt AC 19 ms 924 KB
subtask1_02.txt AC 20 ms 924 KB
subtask1_03.txt AC 21 ms 804 KB
subtask1_04.txt AC 20 ms 800 KB
subtask1_05.txt AC 20 ms 920 KB
subtask1_06.txt AC 21 ms 792 KB
subtask1_07.txt AC 20 ms 800 KB
subtask1_08.txt AC 21 ms 752 KB
subtask1_09.txt AC 229 ms 1052 KB
subtask1_10.txt AC 51 ms 928 KB
subtask1_11.txt AC 212 ms 928 KB
subtask1_12.txt AC 228 ms 964 KB
subtask1_13.txt AC 216 ms 936 KB
subtask1_14.txt AC 231 ms 864 KB
subtask1_15.txt AC 233 ms 940 KB
subtask1_16.txt AC 203 ms 884 KB
subtask1_17.txt AC 190 ms 1056 KB
subtask1_18.txt AC 24 ms 800 KB
subtask1_19.txt AC 20 ms 924 KB
subtask1_20.txt AC 209 ms 1052 KB