結果

問題 No.343 手抜き工事のプロ
ユーザー noriocnorioc
提出日時 2016-02-13 01:40:30
言語 Scala(Beta)
(3.4.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 854 bytes
コンパイル時間 6,957 ms
コンパイル使用メモリ 218,456 KB
最終ジャッジ日時 2023-09-11 23:26:11
合計ジャッジ時間 7,467 ms
ジャッジサーバーID
(参考情報)
judge15 / judge14
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

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

ソースコード

diff #

import math._

object Main {
  def isInvalid(L: Int, xs: Array[Int]): Boolean = {
    var l = 0
    for (i <- 0 to xs.length-1) {
      if (abs(l - xs(i)) >= L) return true
      l = xs(i)
    }
    false
  }

  def calc(N: Int, L: Int, xs: Array[Int]): Int = {
    if (isInvalid(L, xs)) return -1

    if (xs.isEmpty) return 0

    var ans = 0
    var p = (xs.last + xs.last + L) / 2.0
    var cnt = 1
    for (i <- xs.length-2 to 0 by -1) {

      var t = p / cnt
      if (xs(i) < t && t < xs(i) + L && xs(i+1) < t && t < xs(i+1) + L) {
      }
      else ans += 1

      p += (xs(i) + xs(i) + L) / 2.0
      cnt += 1
    }
    ans
  }

  def main(args: Array[String]) {
    val sc = new java.util.Scanner(System.in)

    val N = sc.nextInt
    val L = sc.nextInt
    val xs = Array.fill(N-1)(sc.nextInt)
    println(calc(N, L, Array(0) ++ xs))
  }
}
0