結果

問題 No.246 質問と回答
コンテスト
ユーザー 💕💖💞
提出日時 2016-09-16 23:50:24
言語 Scala(Beta)
(3.8.1)
コンパイル:
scalac _filename_
実行:
java -cp .:/home/linuxbrew/.linuxbrew/Cellar/scala/3.8.1/libexec/maven2/org/scala-lang/scala3-library_3/3.8.1/scala3-library_3-3.8.1.jar:/home/linuxbrew/.linuxbrew/Cellar/scala/3.8.1/libexec/maven2/org/scala-lang/scala-library/3.8.1/scala-library-3.8.1.jar _class_
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 1,154 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 6,917 ms
コンパイル使用メモリ 226,876 KB
最終ジャッジ日時 2026-03-09 14:46:30
合計ジャッジ時間 7,393 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_0
このコードへのチャレンジ
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
-- [E040] Syntax Error: Main.scala:14:31 ---------------------------------------
14 |  def main(args: Array[String]){
   |                               ^
   |                               '=' expected, but '{' found
-- [E008] Not Found Error: Main.scala:2:34 -------------------------------------
2 |import scala.collection.immutable.StringLike
  |                                  ^^^^^^^^^^
  |            value StringLike is not a member of scala.collection.immutable
2 errors found

ソースコード

diff #
raw source code

import scala.io.StdIn.readLine
import scala.collection.immutable.StringLike
import scala.collection.immutable.Stream
import Math.{sqrt, pow}
import scala.util.control.Breaks

object Main {
  val inf = Stream.continually(List(None, None, Some("Fizz")).toStream).flatten
  val inf2 = Stream.from(1)
  val inf3 = Stream.continually(1)
  val _lmax  = Long.MaxValue
  val _imax  = Int.MaxValue
  val b1   = new Breaks
  def main(args: Array[String]){
   var (head, min) = (pow(10,9), 1)
   //println("? " + min.toString)
   b1.breakable {
     inf2.take(100).toList.map { x =>  
       val middle:Int = ((head+min)/2).toInt
       println("? " + middle.toString)
       val in = readLine().toInt
       if (in == 1 ) { 
         min = middle
       } else {
         head = middle
       }   
       if ( head - min <=  1) {
         println("? " + min.toString)
         if (readLine().toInt == 1) {
           println("! " + min.toString)
         } else {
           println("! " + head.toInt.toString)
         }                    
         b1.break             
       }                      
     }                        
   }                  

  }
}
0