結果

問題 No.180 美しいWhitespace (2)
ユーザー くわいくわい
提出日時 2015-11-04 14:12:18
言語 Scala(Beta)
(3.3.1)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 914 bytes
コンパイル時間 5,521 ms
コンパイル使用メモリ 214,204 KB
最終ジャッジ日時 2023-09-11 14:51:48
合計ジャッジ時間 6,235 ms
ジャッジサーバーID
(参考情報)
judge11 / judge13
このコードへのチャレンジ(β)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
-- [E040] Syntax Error: Main.scala:30:32 ---------------------------------------
30 |  def main(args: Array[String]) {
   |                                ^
   |                                '=' expected, but '{' found
1 error found

ソースコード

diff #

import java.util.Scanner

import scala.annotation.tailrec

object Problem180 {

  def ugliness(AB: Seq[(Int, Int)], tab: Long): Long = {
    val width: Seq[Long] = AB.map(x => x._1 + x._2 * tab)
    width.max - width.min
  }

  @tailrec
  def search(AB: Seq[(Int, Int)], left: Long, right: Long): Int = {
    if (left == right) return ((right + left) * 0.5).toInt

    val nextLeft: Long = (left * 2 + right) / 3
    val nextRight: Long = (left + right * 2) / 3

    if (ugliness(AB, nextLeft) <= ugliness(AB, nextRight)) {
      search(AB, left, nextRight)
    } else {
      search(AB, nextLeft + 1, right)
    }
  }

  def proc(AB: Seq[(Int, Int)]): Long = {
    search(AB, 1, Math.pow(10, 9).toLong + 1)
  }

  def main(args: Array[String]) {
    val sc = new Scanner(System.in)
    val N = sc.nextInt()
    val AB = Seq.fill(N)(sc.nextInt(), sc.nextInt())

    val result = proc(AB)
    println(result)
  }
}
0