結果
問題 |
No.1623 三角形の制作
|
ユーザー |
👑 |
提出日時 | 2021-07-24 09:38:20 |
言語 | Lua (LuaJit 2.1.1734355927) |
結果 |
AC
|
実行時間 | 101 ms / 2,000 ms |
コード長 | 810 bytes |
コンパイル時間 | 124 ms |
コンパイル使用メモリ | 5,376 KB |
実行使用メモリ | 6,144 KB |
最終ジャッジ日時 | 2024-07-19 09:31:16 |
合計ジャッジ時間 | 2,440 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 19 |
ソースコード
local n = io.read("*n", "*l") local astr = io.read() local bstr = io.read() local cstr = io.read() local a, b, c = {}, {}, {} for i = 1, 3000 do a[i], b[i], c[i] = 0, 0, 0 end for w in astr:gmatch("%d+") do local z = tonumber(w) a[z] = a[z] + 1 end for w in bstr:gmatch("%d+") do local z = tonumber(w) b[z] = b[z] + 1 end for w in cstr:gmatch("%d+") do local z = tonumber(w) c[z] = c[z] + 1 end local csum = {c[1]} for i = 2, 3000 do csum[i] = c[i] + csum[i - 1] end local ret = 0LL for ia = 1, 3000 do for ib = 1, ia do local cmax = ia local cmin = ia - ib + 1 if cmin <= cmax then local v = csum[cmax] if 1 < cmin then v = v - csum[cmin - 1] end ret = ret + 1LL * a[ia] * b[ib] * v end end end ret = tostring(ret):gsub("LL", "") print(ret)