Submission #500836
Source Code Expand
#include <bits/stdc++.h>
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,b) FOR(i,0,b)
#define PB push_back
#define BE(c) c.begin(),c.end()
#define F first
#define S second
using namespace std;
typedef long long LL;
typedef long double ld;
typedef int ut;
typedef pair<ut,ut> pr;
typedef vector<ut> VI;
typedef vector<pr> Vpr;
const ut INF=1<<30;
const LL p=7+1e+9;
const int SIZE=1+2*1e+3;
using namespace std;
Vpr changes;
VI user;
int N,K;
int sums[SIZE][SIZE];
int maps[SIZE][SIZE];
int numbering(int sx,int sy,int ex,int ey){
if(sx==0 || sy==0 || ex==N+1 || ey==N+1) return 0;
return abs(sums[ey][ex]-sums[ey][sx-1]-sums[sy-1][ex]+sums[sy-1][sx-1]);
}
int solve(){
int sx=INF,sy=INF,ex=0,ey=0;
REP(i,user.size()){
sx=min(sx,changes[user[i]].S);
sy=min(sy,changes[user[i]].F);
ex=max(ex,changes[user[i]].S);
ey=max(ey,changes[user[i]].F);
}
int maxim=0;
REP(j,2)
REP(k,2)
REP(l,2)
REP(v,2)
maxim=max(maxim,numbering(sx-j,sy-k,ex+l,ey+v));
return maxim;
}
int main() {
int y,x;
cin >> N >> K;
FOR(i,1,N+1)
FOR(j,1,N+1){
maps[i][j]=((i+j)&1)?1:-1;
}
REP(i,K){
cin >> y >> x;
maps[y][x]*=-1;
changes.PB(pr(y,x));
}
FOR(i,1,N+1)
FOR(j,1,N+1)
sums[i][j]=sums[i][j-1]+sums[i-1][j]-sums[i-1][j-1]+maps[i][j];
int maxim=0;
FOR(i,1,1<<K){
REP(j,K) if(i&(1<<j)) user.PB(j);
maxim=max(solve(),maxim);
user.clear();
}
cout << maxim << endl;
return 0;
}
Submission Info
| Submission Time |
|
| Task |
E - マス目色ぬり |
| User |
anct |
| Language |
C++11 (GCC 4.9.2) |
| Score |
100 |
| Code Size |
1493 Byte |
| Status |
AC |
| Exec Time |
108 ms |
| Memory |
32040 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
100 / 100 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
example_0.txt, example_1.txt, example_2.txt |
| All |
all_black_0.txt, all_black_1.txt, all_edge_0.txt, all_edge_1.txt, all_edge_2.txt, all_white_0.txt, all_white_1.txt, corner_0.txt, example_0.txt, example_1.txt, example_2.txt, maxrand_0.txt, maxrand_1.txt, maxrand_2.txt, maxrand_3.txt, maxrand_4.txt, random_0.txt, random_1.txt, random_2.txt, random_3.txt, random_4.txt, smallrand_0.txt, smallrand_1.txt, smallrand_2.txt, example_0.txt, example_1.txt, example_2.txt |
| Case Name |
Status |
Exec Time |
Memory |
| all_black_0.txt |
AC |
65 ms |
17496 KiB |
| all_black_1.txt |
AC |
76 ms |
22564 KiB |
| all_edge_0.txt |
AC |
41 ms |
8052 KiB |
| all_edge_1.txt |
AC |
82 ms |
24376 KiB |
| all_edge_2.txt |
AC |
33 ms |
4644 KiB |
| all_white_0.txt |
AC |
27 ms |
1560 KiB |
| all_white_1.txt |
AC |
97 ms |
31004 KiB |
| corner_0.txt |
AC |
26 ms |
924 KiB |
| example_0.txt |
AC |
23 ms |
924 KiB |
| example_1.txt |
AC |
24 ms |
796 KiB |
| example_2.txt |
AC |
23 ms |
928 KiB |
| maxrand_0.txt |
AC |
100 ms |
32024 KiB |
| maxrand_1.txt |
AC |
100 ms |
32028 KiB |
| maxrand_2.txt |
AC |
101 ms |
32032 KiB |
| maxrand_3.txt |
AC |
101 ms |
32036 KiB |
| maxrand_4.txt |
AC |
108 ms |
32040 KiB |
| random_0.txt |
AC |
77 ms |
20644 KiB |
| random_1.txt |
AC |
34 ms |
3880 KiB |
| random_2.txt |
AC |
98 ms |
29100 KiB |
| random_3.txt |
AC |
84 ms |
23068 KiB |
| random_4.txt |
AC |
29 ms |
2084 KiB |
| smallrand_0.txt |
AC |
26 ms |
1052 KiB |
| smallrand_1.txt |
AC |
25 ms |
936 KiB |
| smallrand_2.txt |
AC |
25 ms |
936 KiB |