Submission #2482667


Source Code Expand

object Main extends App {
  val Array(n, k) = io.StdIn.readLine().split(' ').map(_.toInt)
  val k2 = k*2  
  // 0 ≦ x,y ≦ 2K に圧縮
  val squares = Array.fill(k2)(Array.fill(k2)(0))
  for (i <- 1 to n) {
    val Array(x, y, color) = io.StdIn.readLine().split(' ')
    // 'W'はY方向にKずらした'B'と同値
    squares(x.toInt % k2)((y.toInt + (if (color == "B") 0 else k)) % k2) += 1
  }
  // 計算量削減のために累積和を事前算出
  for {
    i <- 0 until k2
    j <- 1 until k2
  } squares(i)(j) += squares(i)(j-1)
  for {
    j <- 0 until k2
    i <- 1 until k2
  } squares(i)(j) += squares(i-1)(j)
  var max = 0
  val end = k2-1
  for {
    i <- 0 until k
    j <- 0 until k
  } {
    // ex) k = 2
    //      ■ □ □ ■ 
    //  j+k □ ■ ■ □
    //      □ ■ ■ □
    //    j ■ □ □ ■
    //      i   i+k
    val cnt =
      (squares(i)(j)) +
      (squares(end)(j) - squares(i+k)(j)) +
      (squares(i+k)(j+k) - squares(i+k)(j) - squares(i)(j+k) + squares(i)(j)) +
      (squares(i)(end) - squares(i)(j+k)) +
      (squares(end)(end) - squares(end)(j+k) - squares(i+k)(end) + squares(i+k)(j+k))
    max = Math.max(Math.max(cnt, n - cnt), max)
  }
  print(max)
}

Submission Info

Submission Time
Task D - Checker
User fink
Language Scala (2.11.7)
Score 500
Code Size 1262 Byte
Status AC
Exec Time 1007 ms
Memory 88024 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 326 ms 25276 KB
0_001.txt AC 530 ms 66548 KB
0_002.txt AC 324 ms 25400 KB
1_003.txt AC 525 ms 64500 KB
1_004.txt AC 326 ms 25416 KB
1_005.txt AC 320 ms 25288 KB
1_006.txt AC 323 ms 25400 KB
1_007.txt AC 376 ms 26552 KB
1_008.txt AC 528 ms 64588 KB
1_009.txt AC 401 ms 26804 KB
1_010.txt AC 412 ms 26484 KB
1_011.txt AC 404 ms 26720 KB
1_012.txt AC 466 ms 31708 KB
1_013.txt AC 609 ms 62268 KB
1_014.txt AC 823 ms 49556 KB
1_015.txt AC 791 ms 51856 KB
1_016.txt AC 817 ms 52168 KB
1_017.txt AC 872 ms 49212 KB
1_018.txt AC 1007 ms 85868 KB
1_019.txt AC 736 ms 38208 KB
1_020.txt AC 725 ms 38532 KB
1_021.txt AC 751 ms 38792 KB
1_022.txt AC 739 ms 37940 KB
1_023.txt AC 735 ms 37048 KB
1_024.txt AC 748 ms 37320 KB
1_025.txt AC 816 ms 48308 KB
1_026.txt AC 997 ms 88024 KB
1_027.txt AC 790 ms 47408 KB
1_028.txt AC 1004 ms 85784 KB
1_029.txt AC 800 ms 48496 KB
1_030.txt AC 1002 ms 84684 KB