結果
問題 | No.1816 MUL-DIV Game |
ユーザー | 89 |
提出日時 | 2022-02-18 18:59:46 |
言語 | Kotlin (1.9.23) |
結果 |
AC
|
実行時間 | 552 ms / 2,000 ms |
コード長 | 3,561 bytes |
コンパイル時間 | 13,790 ms |
コンパイル使用メモリ | 456,456 KB |
実行使用メモリ | 71,176 KB |
最終ジャッジ日時 | 2024-06-29 08:09:03 |
合計ジャッジ時間 | 25,484 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 266 ms
57,132 KB |
testcase_01 | AC | 268 ms
57,080 KB |
testcase_02 | AC | 270 ms
57,068 KB |
testcase_03 | AC | 269 ms
57,136 KB |
testcase_04 | AC | 276 ms
57,032 KB |
testcase_05 | AC | 270 ms
56,732 KB |
testcase_06 | AC | 283 ms
57,176 KB |
testcase_07 | AC | 279 ms
56,964 KB |
testcase_08 | AC | 273 ms
57,164 KB |
testcase_09 | AC | 340 ms
59,476 KB |
testcase_10 | AC | 451 ms
64,336 KB |
testcase_11 | AC | 430 ms
64,564 KB |
testcase_12 | AC | 432 ms
62,168 KB |
testcase_13 | AC | 482 ms
66,792 KB |
testcase_14 | AC | 451 ms
61,988 KB |
testcase_15 | AC | 452 ms
64,576 KB |
testcase_16 | AC | 378 ms
59,852 KB |
testcase_17 | AC | 527 ms
69,000 KB |
testcase_18 | AC | 509 ms
68,996 KB |
testcase_19 | AC | 470 ms
64,220 KB |
testcase_20 | AC | 530 ms
70,836 KB |
testcase_21 | AC | 434 ms
62,164 KB |
testcase_22 | AC | 476 ms
62,288 KB |
testcase_23 | AC | 268 ms
57,040 KB |
testcase_24 | AC | 275 ms
56,864 KB |
testcase_25 | AC | 532 ms
71,024 KB |
testcase_26 | AC | 528 ms
70,848 KB |
testcase_27 | AC | 552 ms
71,176 KB |
testcase_28 | AC | 548 ms
70,656 KB |
testcase_29 | AC | 538 ms
70,940 KB |
ソースコード
import java.io.BufferedReader import java.io.InputStream import java.io.InputStreamReader import java.io.PrintWriter import java.lang.StringBuilder import java.util.* import kotlin.math.* fun main() { var n = one_To_Int() var a = list_To_Long() a.sort() if (n == 1){ println(a[0]) return } if (n == 2){ println(a[0]*a[1]) return } if (n % 2 == 1){ println(1) return } println(min(a[2],a[0]*a[1])) } var mod99:Long = 998244353 var mod10:Long = 1000000007 var modt = 1000000000000L val reader = System.`in`.bufferedReader() var inf = 1000000002L fun init_String_SortedList():SortedSet<String>{ return init_String_List().toSortedSet<String>() } fun init_Int_SortedList():SortedSet<Int>{ return init_Int_List().toSortedSet<Int>() } fun init_Long_SortedList():SortedSet<Long>{ return init_Long_List().toSortedSet<Long>() } fun mod_pow(x:Long, n:Long, p: Long): Long { var ans = 1L var X: Long = x var N: Long = n while (N >= 1L) { if (N % 2 == 1L) { ans *= X ans = ans % p } X *= X X = X % p N = N / 2 } return ans } //fun pow(x:BigInteger, n:BigInteger):BigInteger{ // var ans = 1.toBigInteger() // var X: BigInteger = x // var N:BigInteger = n // while (N >= 1.toBigInteger()) { // if (N % 2 == 1.toBigInteger()) { // ans *= X // // } // X *= X // N = N / 2.toBigInteger() // } // return ans //} fun input():String{ return reader.readLine() } fun init_Long_List():MutableList<Long>{ var a = MutableList<Long>(0) { 0 } return a } fun init_String_List():MutableList<String>{ var a = MutableList<String>(0) { "" } return a } fun init_Int_List():MutableList<Int>{ var a = MutableList<Int>(0) { 0 } return a } fun list_To_Int():MutableList<Int>{ return input().split(" ").map{it.toInt()}.toMutableList() } fun list_To_Long():MutableList<Long>{ return input().split(" ").map{it.toLong()}.toMutableList() } fun one_To_Int():Int{ return input().toInt() } fun one_To_Long():Long { return input().toLong() } fun one_To_Double():Double { return input().toDouble() } //fun deque():ArrayDeque<Long>{ // var queue:ArrayDeque<Long> = ArrayDeque() // return queue //} fun merge(A:MutableList<Long>,left:Int, mid:Int, right:Int) { var n1 = mid - left; var n2 = right - mid; var L = MutableList<Long>(n1 + 1) { 0 } var R = MutableList<Long>(n2 + 1) { 0 } for (i in 0..n1 - 1) { L[i] = A[left + i] } for (i in 0..n2 - 1){ R[i] = A[mid + i] } L[n1] = inf R[n2] = inf var i = 0 var j = 0 for (k in left..right - 1) { if (L[i] <= R[j]) { A[k] = L[i] i = i + 1 } else { A[k] = R[j] j = j + 1 } } } fun make_divisor(n:Long):MutableList<Long>{ var res = init_Long_List() var i = 1L while (i * i <= n){ if (n % i == 0L){ res.add(i) if (i*i != n){ res.add(n/i) } } i += 1 } res.sort() res.add(n) return res } fun Sort(A:MutableList<Long>,left:Int, right:Int){ if (left+1 < right) { var mid = (left + right) / 2; Sort(A, left, mid) Sort(A, mid, right) merge(A, left, mid, right) } } fun gcd(a :Int ,b:Int):Int{ if (a % b == 0){ return b }else{ return gcd(b,a%b) } }