1 条题解
-
0
C++ :
#include<bits/stdc++.h> using namespace std; int main() { int n,a[10086]; cin>>n; for(int i=1;i<=n;i++){ cin>>a[i]; } int ans=0; for(int i=1;i<n;i++){ for(int j=i+1;j<=n;j++){ if(a[i]>a[j]){ ans+=a[i]; swap(a[i],a[j]); } } } cout<<ans; return 0; }
Python :
# coding=utf-8 n = int(input()) N = 1000010 a = [0] + list(map(int, input().split())) C = [0 for _ in range(N)] def lowbit(x) : return (-x) & x def add(x, y) : while x < N : C[x] += y x += lowbit(x) def ask(x) : # nums res = 0 while x : res += C[x] x -= lowbit(x) return res res = 0 for i in range(n, 0, -1) : res += a[i] * ask(a[i] - 1) add(a[i], 1) # 数量 print(res)
- 1
信息
- ID
- 170
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者