救,80分剩下两个点TLE
查看原帖
救,80分剩下两个点TLE
716484
know_car_man楼主2024/5/19 15:56

对于蒟蒻来说题解看不懂一点

#include<bits/stdc++.h> long long a[30001],b[30001],ans=0,n;

#include<bits/stdc++.h>
long long a[30001],b[30001],ans=0,n;//a是主数组,b负责倒果子,ans计数,n是初始堆个数 
using namespace std;
int main(){
	cin>>n;//输入 
	for(int i=1;i<=n;i++){
		cin>>a[i];//输入 
	}
	sort(a+1,a+n+1);//初始排序,dddd 
	for(int i=1;i<n;i++){
		ans+=a[1]+a[2];//合并计数 
		for(int j=3;j<=n-i+1;j++){
			b[j-2]=a[j];//将a倒b
		}
		b[n-i]=a[1]+a[2];//b加入合并后的堆 
		sort(b+1,b+n-i+1);//b排序
		for(int j=1;j<=n-i+1;j++){
			a[j]=b[j];//将a倒b
			a[j+1]=0;//将a多余部分归0 
		}
	}
	cout<<ans;//程序,启动 !!! 
	return 0;
}
哪位大牛帮小蒟蒻解决下,万分感谢?
2024/5/19 15:56
加载中...