結果
| 問題 |
No.1623 三角形の制作
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-11-01 21:21:14 |
| 言語 | Ruby (3.4.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 703 bytes |
| コンパイル時間 | 239 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 39,808 KB |
| 最終ジャッジ日時 | 2024-10-10 13:53:29 |
| 合計ジャッジ時間 | 5,436 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | TLE * 1 -- * 18 |
コンパイルメッセージ
Syntax OK
ソースコード
def binary_search(a, n, k, lower)
left = 0
right = n
while left < right do
mid = (left + right) / 2
if lower ? a[mid] < k : a[mid] <= k then
left = mid + 1
else
right = mid
end
end
return right
end
n = gets.to_i
r = gets.split(" ").map{|s| s.to_i}.sort
g = gets.split(" ").map{|s| s.to_i}.sort
b = gets.split(" ").map{|s| s.to_i}.sort
cnt = 0
i = 0
while i < n do
a = r[i]
j = binary_search(r, n, a, false)
an = j - i
k = binary_search(g, n, a, false)
l = 0
while l < k do
m = binary_search(g, n, g[l], false)
bn = m - l
o = binary_search(b, n, a, false)
p = binary_search(b, n, a - g[l] + 1, true)
cn = o - p
cnt += an * bn * cn
l = m
end
i = j
end
puts cnt