Submission #1544180


Source Code Expand

import java.math.BigDecimal
import java.util.*

data class Point(val x: Int, val y: Int)

fun main(args: Array<String>) {
    var (x1, y1, x2, y2) = readLine()!!.split(' ').map(String::toInt)
    if (x1 > x2) { var t = x1; x1 = x2; x2 = t; t = y1; y1 = y2; y2 = t }
    val swapY: (Int) -> Int = if (y1 > y2) {{99999999 - it}} else {{it}}
    val p1 = Point(x1, swapY(y1))
    val p2 = Point(x2, swapY(y2))
    val n = readLine()!!.toInt()
    val points = ArrayList<Point>()
    for (i in 1..n) {
        val (x, y) = readLine()!!.split(' ').map(String::toInt)
        val p = Point(x, swapY(y))
        if (p.x in p1.x..p2.x && p.y in p1.y..p2.y) points.add(p)
    }
    points.sortBy { it.x }
    val ansMap = TreeMap<Int, Int>()
    ansMap.put(p1.y - 1, 0)
    for (p in points) {
        val fc = ansMap.floorEntry(p.y).value + 1
        val cy = ansMap.ceilingKey(p.y)
        if (cy != null) ansMap.remove(cy)
        ansMap.put(p.y, fc)
    }
    val q = ansMap.lastEntry().value
    var res = bd(100) * bd((p2.x - p1.x + p2.y - p1.y).toLong()) - (bd(20) - bdPI * bd(5)) * bd(q.toLong())
    if (q == p2.x - p1.x + 1 || q == p2.y - p1.y + 1) res += bdPI * bd(5)
    println(res.toPlainString())
}

fun bd(q: Long) = BigDecimal.valueOf(q)!!
val bdPI = BigDecimal("3.14159265358979323846264338327950288419716939937510")

Submission Info

Submission Time
Task C - Fountain Walk
User AlexeyEnkov
Language Kotlin (1.0.0)
Score 900
Code Size 1361 Byte
Status AC
Exec Time 1061 ms
Memory 118992 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 47
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt
Case Name Status Exec Time Memory
sample_01.txt AC 252 ms 38404 KB
sample_02.txt AC 230 ms 36288 KB
sample_03.txt AC 232 ms 36384 KB
subtask_1_01.txt AC 230 ms 36412 KB
subtask_1_02.txt AC 232 ms 38128 KB
subtask_1_03.txt AC 231 ms 36288 KB
subtask_1_04.txt AC 234 ms 34416 KB
subtask_1_05.txt AC 231 ms 34336 KB
subtask_1_06.txt AC 230 ms 36284 KB
subtask_1_07.txt AC 231 ms 34376 KB
subtask_1_08.txt AC 232 ms 36248 KB
subtask_1_09.txt AC 538 ms 47680 KB
subtask_1_10.txt AC 592 ms 53004 KB
subtask_1_11.txt AC 467 ms 45260 KB
subtask_1_12.txt AC 956 ms 114700 KB
subtask_1_13.txt AC 549 ms 62352 KB
subtask_1_14.txt AC 540 ms 45736 KB
subtask_1_15.txt AC 526 ms 38772 KB
subtask_1_16.txt AC 918 ms 116436 KB
subtask_1_17.txt AC 557 ms 50448 KB
subtask_1_18.txt AC 533 ms 50264 KB
subtask_1_19.txt AC 544 ms 49664 KB
subtask_1_20.txt AC 982 ms 113212 KB
subtask_1_21.txt AC 938 ms 118024 KB
subtask_1_22.txt AC 1026 ms 117336 KB
subtask_1_23.txt AC 1061 ms 115148 KB
subtask_1_24.txt AC 233 ms 36384 KB
subtask_1_25.txt AC 232 ms 36320 KB
subtask_1_26.txt AC 232 ms 36336 KB
subtask_1_27.txt AC 240 ms 36096 KB
subtask_1_28.txt AC 706 ms 73460 KB
subtask_1_29.txt AC 703 ms 71288 KB
subtask_1_30.txt AC 994 ms 118992 KB
subtask_1_31.txt AC 686 ms 75056 KB
subtask_1_32.txt AC 740 ms 82752 KB
subtask_1_33.txt AC 753 ms 79156 KB
subtask_1_34.txt AC 699 ms 77040 KB
subtask_1_35.txt AC 799 ms 77116 KB
subtask_1_36.txt AC 783 ms 78036 KB
subtask_1_37.txt AC 836 ms 81348 KB
subtask_1_38.txt AC 880 ms 78900 KB
subtask_1_39.txt AC 887 ms 79624 KB
subtask_1_40.txt AC 821 ms 77488 KB
subtask_1_41.txt AC 801 ms 77304 KB