library(gtools)
FindMin <- function(a) {
n <- length(a)
if (n <= 1) return(a[1])
r <- binsearch(function(i) sign(a[i] - a[i - 1]), c(2, n))
if (r$flag %in% c("Between Elements", "Found")) return(a[r$where[1]])
return(min(a[1], a[n]))
}
PrintMin <- function(a) {
cat("入力: "); cat(a, sep = ", "); cat("\n")
cat("出力: "); cat(FindMin(a)); cat("\n")
cat("\n")
}
PrintMin(c(115, 109, 107, 101, 92, 85, 76, 66, 65, 62, 53, 49, 40, 38, 35, 25, 23, 17, 9, 2, 0, 5, 8, 10, 11, 20, 30, 37, 42, 47))
PrintMin(c(110, 104, 96, 93, 84, 83, 87, 93, 98, 103, 113, 120, 121, 128, 133, 134, 142, 152, 159, 169, 171, 174, 183, 186, 196, 203, 210, 212, 221, 224))
PrintMin(c(138, 135, 127, 124, 122, 112, 103, 98, 92, 87, 77, 73, 71, 63, 59, 51, 41, 36, 45, 54, 63, 71, 81, 88, 90, 98, 105, 112, 114, 119))
bGlicmFyeShndG9vbHMpCgpGaW5kTWluIDwtIGZ1bmN0aW9uKGEpIHsKICBuIDwtIGxlbmd0aChhKQogIGlmIChuIDw9IDEpIHJldHVybihhWzFdKQogIHIgPC0gYmluc2VhcmNoKGZ1bmN0aW9uKGkpIHNpZ24oYVtpXSAtIGFbaSAtIDFdKSwgYygyLCBuKSkKICBpZiAociRmbGFnICVpbiUgYygiQmV0d2VlbiBFbGVtZW50cyIsICJGb3VuZCIpKSByZXR1cm4oYVtyJHdoZXJlWzFdXSkKICByZXR1cm4obWluKGFbMV0sIGFbbl0pKQp9CgpQcmludE1pbiA8LSBmdW5jdGlvbihhKSB7CiAgY2F0KCLlhaXlips6ICIpOyBjYXQoYSwgc2VwID0gIiwgIik7IGNhdCgiXG4iKQogIGNhdCgi5Ye65YqbOiAiKTsgY2F0KEZpbmRNaW4oYSkpOyBjYXQoIlxuIikKICBjYXQoIlxuIikKfQoKUHJpbnRNaW4oYygxMTUsIDEwOSwgMTA3LCAxMDEsIDkyLCA4NSwgNzYsIDY2LCA2NSwgNjIsIDUzLCA0OSwgNDAsIDM4LCAzNSwgMjUsIDIzLCAxNywgOSwgMiwgMCwgNSwgOCwgMTAsIDExLCAyMCwgMzAsIDM3LCA0MiwgNDcpKQpQcmludE1pbihjKDExMCwgMTA0LCA5NiwgOTMsIDg0LCA4MywgODcsIDkzLCA5OCwgMTAzLCAxMTMsIDEyMCwgMTIxLCAxMjgsIDEzMywgMTM0LCAxNDIsIDE1MiwgMTU5LCAxNjksIDE3MSwgMTc0LCAxODMsIDE4NiwgMTk2LCAyMDMsIDIxMCwgMjEyLCAyMjEsIDIyNCkpClByaW50TWluKGMoMTM4LCAxMzUsIDEyNywgMTI0LCAxMjIsIDExMiwgMTAzLCA5OCwgOTIsIDg3LCA3NywgNzMsIDcxLCA2MywgNTksIDUxLCA0MSwgMzYsIDQ1LCA1NCwgNjMsIDcxLCA4MSwgODgsIDkwLCA5OCwgMTA1LCAxMTIsIDExNCwgMTE5KSk=
入力: 115, 109, 107, 101, 92, 85, 76, 66, 65, 62, 53, 49, 40, 38, 35, 25, 23, 17, 9, 2, 0, 5, 8, 10, 11, 20, 30, 37, 42, 47
出力: 0
入力: 110, 104, 96, 93, 84, 83, 87, 93, 98, 103, 113, 120, 121, 128, 133, 134, 142, 152, 159, 169, 171, 174, 183, 186, 196, 203, 210, 212, 221, 224
出力: 83
入力: 138, 135, 127, 124, 122, 112, 103, 98, 92, 87, 77, 73, 71, 63, 59, 51, 41, 36, 45, 54, 63, 71, 81, 88, 90, 98, 105, 112, 114, 119
出力: 36