#include <stdio.h>
#include <stdlib.h>
#define MAX_EXAMS 100000
int numOfExams;
typedef struct Exam{
int hoursBefore;
int hoursLater;
int hoursLast;
}Exam;
Exam ExamArray[MAX_EXAMS + 1];
int compare(Exam one, Exam another){
if (one.hoursLater == another.hoursLater)
return one.hoursLast - another.hoursLast;
else
return one.hoursLater - another.hoursLater;
}
int cmp(const void *a, const void *b){
return compare( *(Exam *)a, *(Exam *)b );
}
int main(){
int numOfTestCases;
scanf("%d", &numOfTestCases);
int testCase;
for (testCase = 1; testCase <= numOfTestCases; testCase++){
scanf("%d", &numOfExams);
int exam;
for (exam = 1; exam <= numOfExams; exam++)
scanf("%d%d%d", &ExamArray[exam].hoursBefore, &ExamArray[exam].hoursLater, &ExamArray[exam].hoursLast);
qsort(&ExamArray[1], numOfExams, sizeof(ExamArray[0]), cmp);
printf("Case #%d: ", testCase);
int pass = 1;
int time = 0;
for (exam = 1; exam <= numOfExams; exam++){
time += ExamArray[exam].hoursBefore;
if (time > ExamArray[exam].hoursLater){
pass = 0;
break;
}
time += ExamArray[exam].hoursLast;
}
if (pass)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
07-17
07-17
07-17
07-17
07-17
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交