请求把数据加到n<=5*10^5,否则O(n^2)的暴力能过……
查看原帖
请求把数据加到n<=5*10^5,否则O(n^2)的暴力能过……
658786
STUDENT00楼主2022/10/19 19:42

em,开个O2,就过了……

#include<bits/stdc++.h>
using namespace std;
int n,a[30010];
long long ans;
int main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	for(int i=2;i<n;i++){
		int s1=0,s2=0;
		for(int j=1;j<i;j++) s1+=(a[j]<a[i]);
		for(int j=i+1;j<=n;j++) s2+=(a[i]<a[j]);
		ans+=(long long)s1*s2;
	}
	printf("%lld",ans);
	return 0;
}
2022/10/19 19:42
加载中...