Submission #4025750


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int maze[2010][2010][2];
int n, k;
int findans(int x, int y) {
  int blk1 = maze[2*k-1][k+y][1] + maze[k+x][2*k-1][1] - maze[x+k][y+k][1]
    - (maze[2*k-1][y][1] - maze[k+x][y][1])
    - (maze[x][2*k-1][1] - maze[x][k+y][1])
    - maze[k+x][k+y][1] 
    + maze[x][k+y][1] + maze[k+x][y][1]
    - 2 * maze[x][y][1];
  int blk2 = maze[2*k-1][2*k-1][1] - blk1;
  int wht2 = maze[2*k-1][k+y][0] + maze[k+x][2*k-1][0] - maze[x+k][y+k][0]
    - (maze[2*k-1][y][0] - maze[k+x][y][0])
    - (maze[x][2*k-1][0] - maze[x][k+y][0])
    - maze[k+x][k+y][0] 
    + maze[x][k+y][0] + maze[k+x][y][0]
    - 2 * maze[x][y][0];
  int wht1 = maze[2*k-1][2*k-1][0] - wht2;
  return max(blk1 + wht1, blk2 + wht2);
}

int main(){
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    int x, y;
    char c;
    cin >> x >> y >> c;
    maze[x%(2*k)][y%(2*k)][(c=='W'?0:1)]++;
  }

  for (int i = 0; i < 2 * k; i++) {
    for (int j = 1; j < 2 * k; j++) {
      maze[i][j][0] += maze[i][j-1][0];
      maze[i][j][1] += maze[i][j-1][1];
    }
  }

  for (int i = 1; i < 2 * k; i++) {
    for (int j = 0; j < 2 * k; j++) {
      maze[i][j][0] += maze[i-1][j][0];
      maze[i][j][1] += maze[i-1][j][1];
    }
  }
  /*
  for (int i = 0; i < 2 * k; i++) {
    for (int j = 0; j < 2 * k; j++) {
      cout << maze[i][j][0] << " ";
    }
    cout << endl;
  }
  */
  int ans = 0;
  for (int i = 0; i < k; i++) {
    for (int j = 0; j < k; j++) {
      ans = max(ans, findans(i, j));
    }
  }
  cout << ans << endl;
  return 0;
}

Submission Info

Submission Time
Task D - Checker
User xuelei
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1677 Byte
Status AC
Exec Time 65 ms
Memory 31616 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 31
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt, 1_021.txt, 1_022.txt, 1_023.txt, 1_024.txt, 1_025.txt, 1_026.txt, 1_027.txt, 1_028.txt, 1_029.txt, 1_030.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 35 ms 31616 KB
0_002.txt AC 1 ms 256 KB
1_003.txt AC 35 ms 31616 KB
1_004.txt AC 1 ms 256 KB
1_005.txt AC 1 ms 256 KB
1_006.txt AC 1 ms 256 KB
1_007.txt AC 3 ms 3072 KB
1_008.txt AC 35 ms 31616 KB
1_009.txt AC 2 ms 256 KB
1_010.txt AC 2 ms 256 KB
1_011.txt AC 2 ms 256 KB
1_012.txt AC 3 ms 3072 KB
1_013.txt AC 36 ms 31616 KB
1_014.txt AC 23 ms 256 KB
1_015.txt AC 23 ms 256 KB
1_016.txt AC 23 ms 256 KB
1_017.txt AC 24 ms 3072 KB
1_018.txt AC 65 ms 31616 KB
1_019.txt AC 4 ms 3072 KB
1_020.txt AC 4 ms 3072 KB
1_021.txt AC 4 ms 3072 KB
1_022.txt AC 4 ms 3072 KB
1_023.txt AC 4 ms 3072 KB
1_024.txt AC 4 ms 3072 KB
1_025.txt AC 18 ms 384 KB
1_026.txt AC 54 ms 31616 KB
1_027.txt AC 19 ms 384 KB
1_028.txt AC 53 ms 31616 KB
1_029.txt AC 19 ms 384 KB
1_030.txt AC 53 ms 31616 KB