結果
| 問題 |
No.1010 折って重ねて
|
| コンテスト | |
| ユーザー |
mikhail
|
| 提出日時 | 2020-03-20 21:26:06 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 2,310 bytes |
| コンパイル時間 | 15,241 ms |
| コンパイル使用メモリ | 451,176 KB |
| 実行使用メモリ | 57,208 KB |
| 最終ジャッジ日時 | 2024-12-15 03:42:52 |
| 合計ジャッジ時間 | 31,687 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 30 WA * 13 |
コンパイルメッセージ
Main.kt:9:10: warning: parameter 'args' is never used
fun main(args: Array<String>){
^
Main.kt:59:129: warning: unnecessary non-null assertion (!!) on a non-null receiver of type Long
fun max(a: Long = -LINF, b: Long = -LINF, c: Long = -LINF, d: Long = -LINF, e: Long = -LINF): Long = listOf(a, b, c, d, e).max()!!.toLong()
^
Main.kt:60:124: warning: unnecessary non-null assertion (!!) on a non-null receiver of type Long
fun min(a: Long = LINF, b: Long = LINF, c: Long = LINF, d: Long = LINF, e: Long = LINF): Long = listOf(a, b, c, d, e).min()!!.toLong()
^
ソースコード
import java.util.*
import java.io.PrintWriter
val pw = PrintWriter(System.out)
val MOD = 1000000007L
val INF = 2147483647
val LINF = 9223372036854775807L
fun main(args: Array<String>){
solve()
pw.flush()
}
fun solve(){
var (x, y, h) = nextDoubleList()
x *= 1000.0
y *= 1000.0
var ans = 0
while(x > h || y > h){
if(x > h){
x /= 2
} else if(y > h){
y /= 2
} else {
break
}
ans++
h *= 2
}
println(ans)
}
// Print
fun println(v: String){
pw.println(v)
}
fun print(v: String){
pw.print(v)
}
// Read
fun next() = readLine()!!
fun nextInt() = next().toInt()
fun nextLong() = next().toLong()
fun nextDouble() = next().toDouble()
fun nextList() = next().split(" ")
fun nextIntList() = next().split(" ").map{ it.toInt() }
fun nextLongList() = next().split(" ").map{ it.toLong() }
fun nextDoubleList() = next().split(" ").map{ it.toDouble() }
fun nextAryln(n: Int) = Array(n){ next() }
fun nextIntAryln(n: Int) = IntArray(n){ nextInt() }
fun nextLongAryln(n: Int) = LongArray(n){ nextLong() }
fun nextDoubleAryln(n: Int) = DoubleArray(n) { nextDouble() }
// Math
fun abs(n: Long) : Long = Math.abs(n)
fun max(a: Long = -LINF, b: Long = -LINF, c: Long = -LINF, d: Long = -LINF, e: Long = -LINF): Long = listOf(a, b, c, d, e).max()!!.toLong()
fun min(a: Long = LINF, b: Long = LINF, c: Long = LINF, d: Long = LINF, e: Long = LINF): Long = listOf(a, b, c, d, e).min()!!.toLong()
fun prime(from: Long, to: Long = from) : List<Long>{
return (from..to).filter{ i ->
val max = Math.sqrt(i.toDouble()).toLong()
(2..max).all{ j -> i % j != 0L}
}
}
fun gcd(a: Long, b: Long) : Long = if(a % b == 0L) b else gcd(b, (a % b))
fun lcm(a: Long, b: Long) : Long = a / gcd(a, b) * b
fun modpow(a: Long, n: Long, p:Long = MOD) : Long {
var res = 1L
var ar = a
var nr = n
while(nr > 0){
if((nr and 1) == 1L) res = res * ar % p
ar = ar * ar % p
nr = nr shr 1
}
return res
}
fun modinv(a: Long, p: Long = MOD) : Long = modpow(a, p - 2, p)
fun ncr(n: Long, r: Long) : Long {
var a = 1L
var b = 1L
for (i in 1..r) {
a = a * (n + 1 - i) % MOD
b = b * i % MOD
}
return modinv(b, MOD) * a % MOD
}
mikhail