输入输出样例
输入
3 10000 10000 10000 20000 50000 20000 30000 20000 30000
输出
2800002.解题思路
1.贪心算法解决排序的问题,如何进行排序,可使得时刻之和最小。
2.操作时间不同的,将完成全部操作时间最短的学生放在前面。
3.操作时间相同的,按前两个时间和最小排序。
4.注意数值大小溢出,int改为long。
#include#include typedef struct{ long long s; long long a; long long e; }Node; int main(int argc, char *argv[]) { // 请在此输入您的代码 int n,i,j,k,m; scanf("%d",&n); Node student[n]; for(i=0;i (student[k].s+student[k].a+student[k].e)){ Node temp; temp=student[j]; student[j]=student[k]; student[k]=temp; } else if((student[j].s+student[j].a+student[j].e)==(student[k].s+student[k].a+student[k].e)){ if((student[j].s+student[j].a)>(student[k].s+student[k].a)){ Node temp; temp=student[j]; student[j]=student[k]; student[k]=temp; } } } } long long time=0,ans=0; for(m=0;m 运行结果



