也许放晴会比较好一点


私信TA

用户名:uq_16654036368

访问量:2727

签 名:

等  级
排  名 777
经  验 3758
参赛次数 0
文章发表 34
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

def add(d, i, x, maxh):
    while i <= maxh + 1:
        d[i] += x
        i += i & -i

def _sum(d, i):
    res = 0
    while i > 0:
        res += d[i]
        i -= i & -i
    return res

n = int(input())
a = list(map(int, input().split()))
d = [0] * 1000005
lr = [0] * 100005
maxh = 0

for i in range(n):
    a[i] += 1
    maxh = max(maxh, a[i])

for i in range(n):
    add(d, a[i], 1, maxh)
    lr[i] += i + 1 - _sum(d, a[i])

d = [0] * (maxh + 5)

for i in range(n - 1, -1, -1):
    add(d, a[i], 1, maxh)
    lr[i] += _sum(d, a[i] - 1)

ans = 0
for i in range(n):
    k = lr[i]
    ans += k * (k + 1) // 2  # 使用 // 进行整数除法,得到整数结果

print(ans)


 

0.0分

1 人评分

  评论区

  • «
  • »