結果
| 問題 |
No.1830 Balanced Majority
|
| コンテスト | |
| ユーザー |
rhincodon66
|
| 提出日時 | 2022-02-04 23:34:17 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,055 bytes |
| コンパイル時間 | 11,698 ms |
| コンパイル使用メモリ | 434,056 KB |
| 実行使用メモリ | 71,260 KB |
| 平均クエリ数 | 15.12 |
| 最終ジャッジ日時 | 2024-06-11 13:00:51 |
| 合計ジャッジ時間 | 21,270 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 6 WA * 6 RE * 13 |
コンパイルメッセージ
Main.kt:5:10: warning: parameter 'args' is never used
fun main(args:Array<String>) {
^
ソースコード
import kotlin.math.*
import java.lang.StringBuilder
import java.util.*
fun main(args:Array<String>) {
solve()
}
fun solve(){
val n = readLine()!!.toInt()
var l = 1
var r = n
var R = n / 2
var L = 0
while(r - l > 0){
val div1 = (r + l * 3) / 4
val div2 = (r * 3 + l) / 4
println("? $div1")
val s1 = readLine()!!.toInt()
println("? $div2")
val s2 = readLine()!!.toInt()
val lenR = r - div1
val lenL = div2 - l + 1
val frontR = R - s1
val frontL = s2 - L
val backR = lenR - frontR
val backL = lenL - frontL
val maxR = max(frontR, backR)
val maxL = max(frontL, backL)
if(frontR == backR){
println("! ${div1 + 1} $r")
break
}
else if(frontL == backL){
println("! $l $div2")
break
}
else if(maxR >= maxL){
r = div2
R = s2
}
else{
l = div1 + 1
L = s1
}
}
}
rhincodon66