感觉想的挺好,但是只过了一半o(TヘTo)
查看原帖
感觉想的挺好,但是只过了一半o(TヘTo)
846798
DisQuen楼主2023/1/4 12:08

才学两天C++,很多东西都不会,想用点简单方法

#include<bits/stdc++.h>
#define rep(p,m,n) for(int p=m;p<=n;p++)
#define dep(p,m,n) for(int p=m;p<=n;p--)
using namespace std;
bool com(int a,int b){
	return a<b;
}
int main()
{
	int n,a[10000]={0},y=0,sum=0,temp;
	cin>>n;
	rep(i,1,n){
		cin>>a[i];
	}
	sort(a+1,a+1+n,com);
	sum=a[1];//有点像链表的头
	rep(i,2,n){
		sum+=a[i];
		y+=sum;
		a[i]=sum;
		rep(j,i,n-1){
			int p=0;//检测能不能到地方
			if(a[j]>a[j+1]){
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
				p=1;
			}
			if(p==0) break;
			p=0;
		}
		sum=a[i];
	}
	cout<<y;
	
}
2023/1/4 12:08
加载中...