题目描述
测试样例
代码详解
#include
#include
using namespace std;
long long sum=0;
struct Student{
long long si;//进门的时间
long long ai;//答疑的时间
long long ei;//出门的时间
long long zi;//总时间
long long di;//进门和答疑的时间和
}a[1010];//结构体数组取大10
bool cmp(Student a,Student b)//排序的方式
{
if(a.zi!=b.zi) return a.zi>n;
for(long long i=0;i>a[i].si>>a[i].ai>>a[i].ei;//读入数据
a[i].zi=a[i].si+a[i].ai+a[i].ei;//计算总时间
a[i].di=a[i].si+a[i].ai;//计算进门与答疑的时间
}
sort(a,a+n,cmp);//对结构体进行排序
for(long long i=0;i
总结:题目考点就是结构体排序,要注意的也就是时刻的相加,额外定义了一个变量p来计算截至目前的时刻,再让sum+=p和学生进门与答疑的时间就好了
排序的话得先考虑学生花费的总时间,如果总时间相等再考虑学生进门和答疑的时间差距。
总结:题目考点就是结构体排序,要注意的也就是时刻的相加,额外定义了一个变量p来计算截至目前的时刻,再让sum+=p和学生进门与答疑的时间就好了
排序的话得先考虑学生花费的总时间,如果总时间相等再考虑学生进门和答疑的时间差距。



