求助!!五个TLE,help!!
查看原帖
求助!!五个TLE,help!!
497332
利姆露·三上悟楼主2021/7/24 15:18
#include<bits/stdc++.h>
using namespace std;
struct peaple
{
	long long  tl;//装载每堆果子所消耗的体力 
}a[100000000];
bool camp(peaple a,peaple  b)
{
	return a.tl<b.tl;
}
long long b,c,ztl=0;//ztl用于储存总共体力的消耗 ,b是果子堆数 
int main()
{
	cin>>b;
	for(c=1;c<=b;c++)cin>>a[c].tl;//重量==消耗的体力 
	sort(a+1,a+b+1,camp);
	for(c=2;c<=b;c++)
	{
	    //cout<<"a["<<c<<"].zl="<<a[c].tl;
		a[c].tl=a[c-1].tl+a[c].tl;
		//第c堆果子体力的消耗=前一堆果子的消耗+当前的果子的重量; 
		ztl+=a[c].tl;// 
		if(a[c].tl>a[c+1].tl)sort(a+c,a+b+1,camp);
        //cout<<" a["<<c<<"].tl="<<a[c].tl<<" ztl="<<ztl<<endl;//调试的代码; 
	}
	cout<<ztl;
}
2021/7/24 15:18
加载中...