2020十一届蓝桥杯(国赛)C/C++ b组 答疑

2020十一届蓝桥杯(国赛)C/C++ b组 答疑_第1张图片

#include
using namespace std;
typedef long long LL;
struct node {
     
	int s;
	int a;
	int e;
	long long sum;   //每位同学的si ai ei 之和 
	bool operator<(const node&x)const{
     
		return sum<x.sum;
	}
}stu[1010];

int n;

int main()
{
     
	scanf("%d", &n);
	
	//输入每位同学的三个时间 顺便计算出三个时间之和 
	for (int i = 0; i < n; i++)
	{
     
		scanf("%d %d %d", &stu[i].s, &stu[i].a, &stu[i].e);  
		stu[i].sum = stu[i].s + stu[i].a + stu[i].e;
	}
	
	// 对每位同学三个时间之和进行总体排序 
	sort(stu,stu+n);
	

	LL sum=0;//记录前面总的时间
	LL ans=0;
	LL t=0;//每个人发消息的时间
	
	t = stu[0].s + stu[0].a;
	sum = stu[0].sum;
	ans=t;
	
	for (int i = 1; i < n; i++)
	{
     
	    t=sum+stu[i].s+stu[i].a;
	    ans+=t;
	    sum+=stu[i].sum;
	}
	
	printf("%lld\n", ans);
	return 0;
} 

你可能感兴趣的:(蓝桥杯)