Submission #1575654
Source Code Expand
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <map>
#include <cmath>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
#include <stdlib.h>
#include <stdio.h>
#include <bitset>
#include <cstring>
using namespace std;
#define FOR(I,A,B) for(int I = (A); I < (B); ++I)
#define CLR(mat) memset(mat, 0, sizeof(mat))
typedef long long ll;
// 二次元累積和
// v は 1列目と1行目に0を追加した累積和を取りたいやつの配列
void integrate(vector<vector<int> >& v){
const int n = v.size(), m = v[0].size();
FOR(i,0,n) FOR(j,0,m-1) v[i][j+1] += v[i][j]; // 横足して行く
FOR(i,0,n-1) FOR(j,0,m) v[i+1][j] += v[i][j]; // 縦足して行く - > これで2次元の累積和になる!!!
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int H, W; cin >> H >> W;
vector<vector<int> > black(H + 1, vector<int>(W + 1, 0));
vector<vector<int> > white(H + 1, vector<int>(W + 1, 0));
FOR(y,1,H+1) {
FOR(x,1,W+1) {
int in; cin >> in;
if((y+x)%2==0) black[y][x] = in;
else white[y][x] = in;
}
}
integrate(black);
integrate(white);
int ans = 0;
FOR(y,1,H+1) {
FOR(x,1,W+1) {
FOR(Y,y,H+1) {
FOR(X,x,W+1) {
int b = black[Y][X] - black[Y][x-1] - black[y-1][X] + black[y-1][x-1];
int w = white[Y][X] - white[Y][x-1] - white[y-1][X] + white[y-1][x-1];
if(b == w) ans = max(ans, (X - x + 1) * (Y - y + 1));
}
}
}
}
cout << ans << endl;
return 0;
}
Submission Info
Submission Time |
|
Task |
B - チョコレート |
User |
nenuon |
Language |
C++14 (GCC 5.4.1) |
Score |
100 |
Code Size |
1624 Byte |
Status |
AC |
Exec Time |
57 ms |
Memory |
384 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
100 / 100 |
Status |
|
|
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 |
56 ms |
384 KB |
subtask1_10.txt |
AC |
10 ms |
256 KB |
subtask1_11.txt |
AC |
44 ms |
384 KB |
subtask1_12.txt |
AC |
44 ms |
384 KB |
subtask1_13.txt |
AC |
44 ms |
384 KB |
subtask1_14.txt |
AC |
56 ms |
384 KB |
subtask1_15.txt |
AC |
57 ms |
384 KB |
subtask1_16.txt |
AC |
43 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 |
53 ms |
384 KB |