40分求调
查看原帖
40分求调
745484
kac17楼主2024/7/25 18:46
#include<bits/stdc++.h>
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
const int N=1e2+2;
int n;
int p[N],q[N];
bool cmp(int a,int b){
	return a>b;
}
int main(){
	//加快读入
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>p[i];
		q[i]=p[i];
	}
	sort(p+1,p+n+1);
	int ans1=0;
	for(int i=1;i<n;i++){
		ans1+=p[i+1]+p[i];
		p[i+1]=p[i]+p[i+1];
		p[i]=0;
		for(int j=i+1;j<n;j++){
			if(p[j]>p[j+1])swap(p[j],p[j+1]);
			else break;
		}
	} 
	cout<<ans1<<endl;
	int ans2=0;
	sort(q+1,q+n+1,cmp);
	for(int i=1;i<n;i++){
		q[i+1]+=q[i];
		ans2+=q[i+1];
	}
	cout<<ans2;
	return 0;
}
//2087 10554
2024/7/25 18:46
加载中...