Submission #1986890
Source Code Expand
#include <bits/stdc++.h> using std::max; const int N=2010; int n,m,up[N][N]; bool map[N][N],mp[N][N]; void Init() { scanf("%d%d",&n,&m); for (int i=0;i<n;++i) for (int j=0;j<m;++j) { char ch=getchar(); while (ch!='#' && ch!='.') ch=getchar(); if (ch=='#') map[i][j]=0; else map[i][j]=1; } } int que[N],ans; void Work(int *up) { int top=0; up[m]=-1; for (int i=1;i<=m;++i) { while (top && up[que[top]]>up[i]) { ans=max(ans,(up[que[top]]+1)*(i-que[top-1])); top--; } que[++top]=i; } } void Solve() { for (int i=1;i<n;++i) for (int j=1;j<m;++j) mp[i][j]=map[i][j]^map[i-1][j]^map[i][j-1]^map[i-1][j-1]^1; for (int i=1;i<n;++i) for (int j=1;j<m;++j) { if (mp[i][j]) up[i][j]=up[i-1][j]+1; else up[i][j]=0; } ans=max(n,m); for (int i=1;i<n;++i) Work(up[i]); printf("%d\n",ans); } int main() { Init(); Solve(); return 0; }
Submission Info
Submission Time | |
---|---|
Task | F - Flip and Rectangles |
User | Mcallor |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 931 Byte |
Status | AC |
Exec Time | 108 ms |
Memory | 23808 KB |
Compile Error
./Main.cpp: In function ‘void Init()’: ./Main.cpp:11:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result] scanf("%d%d",&n,&m); ^
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 700 / 700 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, 1.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 2.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 3.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 4.txt, 5.txt, 6.txt, 7.txt, 8.txt, 9.txt, sample1.txt, sample2.txt, sample3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
1.txt | AC | 6 ms | 23296 KB |
10.txt | AC | 89 ms | 23808 KB |
11.txt | AC | 43 ms | 23680 KB |
12.txt | AC | 75 ms | 23808 KB |
13.txt | AC | 75 ms | 23808 KB |
14.txt | AC | 76 ms | 23808 KB |
15.txt | AC | 76 ms | 23808 KB |
16.txt | AC | 76 ms | 23808 KB |
17.txt | AC | 76 ms | 23808 KB |
18.txt | AC | 93 ms | 23808 KB |
19.txt | AC | 79 ms | 23808 KB |
2.txt | AC | 2 ms | 4352 KB |
20.txt | AC | 80 ms | 23808 KB |
21.txt | AC | 79 ms | 23808 KB |
22.txt | AC | 80 ms | 23808 KB |
23.txt | AC | 82 ms | 23808 KB |
24.txt | AC | 75 ms | 23808 KB |
25.txt | AC | 76 ms | 23808 KB |
26.txt | AC | 95 ms | 23808 KB |
27.txt | AC | 88 ms | 23808 KB |
28.txt | AC | 93 ms | 23808 KB |
29.txt | AC | 75 ms | 23808 KB |
3.txt | AC | 108 ms | 23808 KB |
30.txt | AC | 76 ms | 23808 KB |
31.txt | AC | 76 ms | 23808 KB |
32.txt | AC | 76 ms | 23808 KB |
33.txt | AC | 76 ms | 23808 KB |
34.txt | AC | 76 ms | 23808 KB |
4.txt | AC | 108 ms | 23808 KB |
5.txt | AC | 6 ms | 23296 KB |
6.txt | AC | 2 ms | 4352 KB |
7.txt | AC | 98 ms | 23808 KB |
8.txt | AC | 98 ms | 23808 KB |
9.txt | AC | 89 ms | 23808 KB |
sample1.txt | AC | 2 ms | 4352 KB |
sample2.txt | AC | 2 ms | 4352 KB |
sample3.txt | AC | 2 ms | 4352 KB |