提出 #14748067


ソースコード 拡げる

import java.io.BufferedReader

fun main() {
    val br = System.`in`.bufferedReader()
    val n = br.readInt()
    val sieve = IntArray(n + 1) { -1 }
    var sum = 1L
    for (x in 2..n) {
        if (sieve[x] == -1) {
            sieve[x] = x
            if (x < 3163) {
                var y = x * x
                while (y <= n) {
                    sieve[y] = x
                    y += x
                }
            }
        }
        var numFactors = 1L
        var num = x
        while (sieve[num] != -1) {
            val p = sieve[num]
            var ct = 0
            while (num % p == 0) {
                num /= p
                ct++
            }
            numFactors *= (ct + 1)
        }
        sum += x * numFactors
    }
    print(sum)
}

private const val SPACE_INT = ' '.toInt()
private const val ZERO_INT = '0'.toInt()
private const val NL_INT = '\n'.toInt()

private fun BufferedReader.readInt(): Int {
    var ret = read()
    while (ret <= SPACE_INT) {
        ret = read()
    }
    val neg = ret == '-'.toInt()
    if (neg) {
        ret = read()
    }
    ret -= ZERO_INT
    var read = read()
    while (read >= ZERO_INT) {
        ret *= 10
        ret += read - ZERO_INT
        read = read()
    }

    while (read <= SPACE_INT && read != -1 && read != NL_INT) {
        mark(1)
        read = read()
    }
    if (read > SPACE_INT) {
        reset()
    }
    return if (neg) -ret else ret
}

提出情報

提出日時
問題 D - Sum of Divisors
ユーザ Hakiobo
言語 Kotlin (1.3.71)
得点 400
コード長 1497 Byte
結果 AC
実行時間 1026 ms
メモリ 73424 KiB

コンパイルエラー

warning: ATTENTION!
This build uses unsafe internal compiler arguments:

-XXLanguage:+InlineClasses

This mode is not recommended for production use,
as no stability/compatibility guarantees are given on
compiler or generated code. Use it at your own risk!

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 20
セット名 テストケース
Sample sample_01.txt, sample_02.txt, sample_03.txt
All hand_01.txt, random_01.txt, random_02.txt, random_03.txt, random_04.txt, random_05.txt, random_06.txt, random_07.txt, random_08.txt, random_09.txt, random_10.txt, sample_01.txt, sample_02.txt, sample_03.txt, sq_01.txt, sq_02.txt, sq_03.txt, sq_04.txt, sq_05.txt, sq_06.txt
ケース名 結果 実行時間 メモリ
hand_01.txt AC 99 ms 34016 KiB
random_01.txt AC 1011 ms 73324 KiB
random_02.txt AC 823 ms 65148 KiB
random_03.txt AC 1021 ms 73308 KiB
random_04.txt AC 521 ms 53800 KiB
random_05.txt AC 1026 ms 73424 KiB
random_06.txt AC 401 ms 48688 KiB
random_07.txt AC 1022 ms 73272 KiB
random_08.txt AC 629 ms 58464 KiB
random_09.txt AC 1011 ms 73232 KiB
random_10.txt AC 199 ms 38536 KiB
sample_01.txt AC 92 ms 34016 KiB
sample_02.txt AC 96 ms 34120 KiB
sample_03.txt AC 1013 ms 73392 KiB
sq_01.txt AC 1009 ms 73236 KiB
sq_02.txt AC 1007 ms 73408 KiB
sq_03.txt AC 1010 ms 73424 KiB
sq_04.txt AC 1010 ms 73364 KiB
sq_05.txt AC 1010 ms 73364 KiB
sq_06.txt AC 1008 ms 73412 KiB