結果
問題 | No.1282 Display Elements |
ユーザー |
👑 ![]() |
提出日時 | 2020-11-06 21:43:24 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,003 bytes |
コンパイル時間 | 151 ms |
コンパイル使用メモリ | 82,428 KB |
実行使用メモリ | 115,540 KB |
最終ジャッジ日時 | 2024-07-22 12:33:29 |
合計ジャッジ時間 | 3,098 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 13 WA * 11 |
ソースコード
"""https://yukicoder.me/problems/no/1282Aはちいさいほうから出すべき"""from sys import stdindef bitadd(a,w,bit): #aにwを加える(1-origin)a += 1x = awhile x <= (len(bit)-1):bit[x] += wx += x & (-1 * x)def bitsum(a,bit): #ind 1~aまでの和を求めるa += 1ret = 0x = awhile x > 0:ret += bit[x]x -= x & (-1 * x)return retN = int(stdin.readline())a = list(map(int,stdin.readline().split()))b = list(map(int,stdin.readline().split()))a.sort()lis = []dic = {}for i in b:if i not in dic:dic[i] = 0lis.append(i)for i in range(len(lis)):dic[lis[i]] = ians = 0BIT = [0] * (len(lis)+5)cnt = 0for i in a:bitadd(dic[b[cnt]] , 1 , BIT)l = -1r = len(lis)while r-l != 1:m = (l+r)//2if lis[m] >= i:r = melse:l = mif l != -1:ans += bitsum(l,BIT)cnt += 1print (ans)