В следующем примере кода прочитайте n из первой строки, затем для каждой строки рассчитайте умножение ti * li и общей суммы.
import java.io.InputStream
import java.io.ByteArrayInputStream
import java.nio.charset.StandardCharsets
import scala.io.Source
import scala.util.matching.Regex
def process(in: InputStream): Long = {
val lines = Source.fromInputStream(in).getLines()
val n = lines.next().toInt
val pattern: Regex = """\s*(\d+)\s+(\d+)\s*""".r
lines.map {
case pattern(ti, li) => ti.toInt * li.toInt
case _ => 0
}.sum
}
test("process InputStream") {
val lines =
raw"""3
|1 10
|2 200
|3 3000
|""".stripMargin
println(lines)
val is: InputStream = new ByteArrayInputStream(lines.getBytes(StandardCharsets.UTF_8))
assert(process(is) == 9410)
}