离谱
查看原帖
离谱
1345093
do123楼主2025/6/20 15:50

很疑惑 为什么复杂度O(n^2)还能AC

#include <bits/stdc++.h>
using namespace std;
long long n, a[10010], sum;
int main()
{
	cin >> n;
	for(int i=1;i<=n;++i){
		cin >> a[i];
	}
	for(int i=1;i<n;++i){
		int pos=1;
		for(int j=1;j<=n;++j){
			if(a[j]<a[pos]){
				pos=j;
			}
		}
		swap(a[1],a[pos]);
		pos=2;
		for(int j=2;j<=n;++j){
			if(a[j]<a[pos]){
				pos=j;
			}
		}
		swap(a[2],a[pos]);
		sum+=a[1]+a[2];
		a[1]+=a[2];
		a[2]=1000000000;
	}
	cout << sum;
	return 0;
}
2025/6/20 15:50
加载中...