結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-04-07 13:25:08 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
AC
|
| 実行時間 | 830 ms / 2,000 ms |
| コード長 | 772 bytes |
| コンパイル時間 | 14,092 ms |
| コンパイル使用メモリ | 438,720 KB |
| 実行使用メモリ | 94,296 KB |
| 最終ジャッジ日時 | 2024-11-30 11:08:08 |
| 合計ジャッジ時間 | 41,086 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 49 |
ソースコード
fun main(){
var (n, k) = readLine()!!.split(" ").map{it.toInt()}
val x = readLine()!!.split(" ").map{it.toLong()}
val a = readLine()!!.split(" ").map{it.toLong()}
k--
var lindex = k
var rindex = k
var lpos : Long = x[lindex]-a[lindex]
var rpos : Long = x[rindex]+a[rindex]
while(true){
if(lindex > 0 && lpos <= x[lindex-1]){
lindex--
lpos = Math.min(lpos, x[lindex]-a[lindex])
rpos = Math.max(rpos, x[lindex]+a[lindex])
}else if(rindex+1 < n && x[rindex+1] <= rpos){
rindex++
lpos = Math.min(lpos, x[rindex]-a[rindex])
rpos = Math.max(rpos, x[rindex]+a[rindex])
}else{
break
}
}
println(rindex-lindex+1)
}