change e testcase table UI and add CPP validator

This commit is contained in:
cuom1999 2020-03-17 00:11:03 -06:00
parent 0ff312e3ba
commit f74f8b6e05
15 changed files with 803 additions and 181 deletions

View file

@ -894,3 +894,535 @@ INFO 2020-03-16 04:50:11,813 judgehandler judge1: 1 test case(s) completed on: 6
INFO 2020-03-16 04:50:11,944 judgehandler judge1: 4 test case(s) completed on: 63 INFO 2020-03-16 04:50:11,944 judgehandler judge1: 4 test case(s) completed on: 63
INFO 2020-03-16 04:50:12,087 judgehandler judge1: Grading has ended on: 63 INFO 2020-03-16 04:50:12,087 judgehandler judge1: Grading has ended on: 63
INFO 2020-03-16 04:50:12,088 judgelist Judge available after grading 63: judge1 INFO 2020-03-16 04:50:12,088 judgelist Judge available after grading 63: judge1
INFO 2020-03-17 05:52:30,384 judgehandler Judge connected from: ('127.0.0.1', 43860)
INFO 2020-03-17 05:52:30,386 judgehandler Judge authenticated: ('127.0.0.1', 43860) (judge1)
INFO 2020-03-17 05:52:37,582 judgelist Free judges: 1
INFO 2020-03-17 05:52:37,582 judgelist Dispatched submission 63 to: judge1
INFO 2020-03-17 05:52:37,590 judgehandler Submission acknowledged: 63
INFO 2020-03-17 05:52:39,371 judgehandler judge1: Submission generated compiler messages: 63
INFO 2020-03-17 05:52:39,433 judgehandler judge1: Grading has begun on: 63
INFO 2020-03-17 05:52:39,478 judgehandler judge1: 7 test case(s) completed on: 63
INFO 2020-03-17 05:52:39,728 judgehandler judge1: 17 test case(s) completed on: 63
INFO 2020-03-17 05:52:39,979 judgehandler judge1: 24 test case(s) completed on: 63
INFO 2020-03-17 05:52:40,231 judgehandler judge1: 17 test case(s) completed on: 63
INFO 2020-03-17 05:52:40,483 judgehandler judge1: 7 test case(s) completed on: 63
INFO 2020-03-17 05:52:40,733 judgehandler judge1: 18 test case(s) completed on: 63
INFO 2020-03-17 05:52:41,641 judgehandler judge1: 2 test case(s) completed on: 63
INFO 2020-03-17 05:52:41,735 judgehandler judge1: 2 test case(s) completed on: 63
INFO 2020-03-17 05:52:41,828 judgehandler judge1: 6 test case(s) completed on: 63
INFO 2020-03-17 05:52:42,697 judgehandler judge1: Grading has ended on: 63
INFO 2020-03-17 05:52:42,697 judgelist Judge available after grading 63: judge1
INFO 2020-03-17 05:52:47,180 judgelist Free judges: 1
INFO 2020-03-17 05:52:47,181 judgelist Dispatched submission 63 to: judge1
INFO 2020-03-17 05:52:47,199 judgehandler Submission acknowledged: 63
INFO 2020-03-17 05:52:48,095 judgehandler judge1: Submission generated compiler messages: 63
INFO 2020-03-17 05:52:48,133 judgehandler judge1: Grading has begun on: 63
INFO 2020-03-17 05:52:48,254 judgehandler judge1: 15 test case(s) completed on: 63
INFO 2020-03-17 05:52:48,506 judgehandler judge1: 23 test case(s) completed on: 63
INFO 2020-03-17 05:52:48,757 judgehandler judge1: 24 test case(s) completed on: 63
INFO 2020-03-17 05:52:49,009 judgehandler judge1: 16 test case(s) completed on: 63
INFO 2020-03-17 05:52:49,672 judgehandler judge1: 5 test case(s) completed on: 63
INFO 2020-03-17 05:52:49,871 judgehandler judge1: 2 test case(s) completed on: 63
INFO 2020-03-17 05:52:50,081 judgehandler judge1: 4 test case(s) completed on: 63
INFO 2020-03-17 05:52:50,185 judgehandler judge1: 11 test case(s) completed on: 63
INFO 2020-03-17 05:52:51,173 judgehandler judge1: Grading has ended on: 63
INFO 2020-03-17 05:52:51,174 judgelist Judge available after grading 63: judge1
INFO 2020-03-17 06:40:31,639 judgelist Free judges: 1
INFO 2020-03-17 06:40:31,640 judgelist Dispatched submission 64 to: judge1
INFO 2020-03-17 06:40:31,656 judgehandler Submission acknowledged: 64
INFO 2020-03-17 06:40:32,523 judgehandler judge1: Submission failed to compile: 64
INFO 2020-03-17 06:40:32,523 judgelist Judge available after grading 64: judge1
INFO 2020-03-17 06:40:44,497 judgelist Free judges: 1
INFO 2020-03-17 06:40:44,498 judgelist Dispatched submission 65 to: judge1
INFO 2020-03-17 06:40:44,514 judgehandler Submission acknowledged: 65
INFO 2020-03-17 06:40:45,380 judgehandler judge1: Submission generated compiler messages: 65
INFO 2020-03-17 06:40:45,422 judgehandler judge1: Grading has begun on: 65
INFO 2020-03-17 06:40:45,460 judgehandler judge1: 3 test case(s) completed on: 65
INFO 2020-03-17 06:40:45,669 judgehandler judge1: 12 test case(s) completed on: 65
INFO 2020-03-17 06:40:45,920 judgehandler judge1: 24 test case(s) completed on: 65
INFO 2020-03-17 06:40:46,546 judgehandler judge1: 3 test case(s) completed on: 65
INFO 2020-03-17 06:40:47,294 judgehandler judge1: 3 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,126 judgehandler judge1: 2 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,213 judgehandler judge1: 1 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,306 judgehandler judge1: 7 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,400 judgehandler judge1: 1 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,505 judgehandler judge1: 2 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,668 judgehandler judge1: 2 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,772 judgehandler judge1: 13 test case(s) completed on: 65
INFO 2020-03-17 06:40:48,924 judgehandler judge1: 9 test case(s) completed on: 65
INFO 2020-03-17 06:40:49,083 judgehandler judge1: 12 test case(s) completed on: 65
INFO 2020-03-17 06:40:49,198 judgehandler judge1: 6 test case(s) completed on: 65
INFO 2020-03-17 06:40:49,292 judgehandler judge1: Grading has ended on: 65
INFO 2020-03-17 06:40:49,292 judgelist Judge available after grading 65: judge1
INFO 2020-03-17 06:41:14,985 judgelist Free judges: 1
INFO 2020-03-17 06:41:14,986 judgelist Dispatched submission 66 to: judge1
INFO 2020-03-17 06:41:15,002 judgehandler Submission acknowledged: 66
INFO 2020-03-17 06:41:15,933 judgehandler judge1: Submission generated compiler messages: 66
INFO 2020-03-17 06:41:15,987 judgehandler judge1: Grading has begun on: 66
INFO 2020-03-17 06:41:16,732 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:17,484 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:18,485 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:19,237 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:19,988 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:20,739 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:21,490 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:22,241 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:22,992 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:23,744 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:24,746 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:25,497 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:26,537 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:26,999 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:27,750 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:28,502 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:29,253 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:30,004 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:30,756 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:31,507 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:32,259 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:33,260 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:34,011 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:34,763 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:35,514 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:36,783 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:37,016 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:37,767 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:38,519 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:39,270 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:40,274 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:41,220 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:41,523 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:42,275 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:43,026 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:43,777 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:44,761 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:45,279 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:46,031 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:46,782 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:47,793 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:48,284 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:49,035 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:49,786 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:50,537 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:51,539 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:52,290 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:53,041 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:54,012 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:54,667 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:56,598 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:57,148 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:57,336 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:57,799 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:58,550 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:41:59,301 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:00,052 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:00,803 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:01,554 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:02,305 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:03,056 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:03,807 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:04,559 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:05,560 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:07,232 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:08,571 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:08,748 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:08,868 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:09,316 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:10,067 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:10,818 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:11,569 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:12,523 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:13,071 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:14,073 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:14,824 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:15,575 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:16,519 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:17,077 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:17,885 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:19,195 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:19,483 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:20,671 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:21,007 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:21,584 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:22,702 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:23,337 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:24,103 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:24,839 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:25,590 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:27,274 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:28,934 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:30,623 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:31,010 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:31,222 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:31,346 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:31,465 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:32,101 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:33,421 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:33,600 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 06:42:33,778 judgehandler judge1: Grading has ended on: 66
INFO 2020-03-17 06:42:33,778 judgelist Judge available after grading 66: judge1
INFO 2020-03-17 06:43:15,398 judgelist Free judges: 1
INFO 2020-03-17 06:43:15,399 judgelist Dispatched submission 67 to: judge1
INFO 2020-03-17 06:43:15,416 judgehandler Submission acknowledged: 67
INFO 2020-03-17 06:43:16,291 judgehandler judge1: Submission generated compiler messages: 67
INFO 2020-03-17 06:43:16,335 judgehandler judge1: Grading has begun on: 67
INFO 2020-03-17 06:43:18,415 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:19,417 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:20,418 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:22,421 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:24,423 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:25,675 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:28,800 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:29,681 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:30,682 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:31,684 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:33,686 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:34,868 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:37,161 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:37,246 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:38,694 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:40,696 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:43,158 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:44,952 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:46,955 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:48,957 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:50,960 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:52,963 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:54,965 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:56,968 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:57,969 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:43:59,972 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:00,974 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:02,976 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:05,229 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:06,231 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:08,234 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:09,235 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:11,238 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:13,241 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:14,242 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:16,245 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:17,246 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:19,249 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:21,502 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:22,504 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:23,505 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:25,508 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:27,511 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:29,513 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:31,516 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:32,518 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:34,520 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:35,522 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:36,523 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:37,775 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:38,777 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:40,780 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:42,546 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:43,527 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:44,256 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:44,786 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:46,840 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:48,436 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:49,104 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:50,794 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:51,832 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:52,797 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:55,050 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:57,053 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:44:59,055 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:00,057 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:01,058 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:02,066 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:03,061 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:05,064 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:06,794 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:07,163 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:08,069 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:10,071 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:12,884 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:13,325 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:14,327 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:16,330 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:17,514 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:19,334 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:20,623 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:21,528 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:22,338 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:23,339 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:25,342 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:26,496 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:27,345 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:29,348 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:30,351 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:31,602 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:33,605 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:35,608 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:37,802 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:38,612 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:39,614 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:41,616 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:42,618 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:44,300 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:45,622 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:46,592 judgehandler judge1: 1 test case(s) completed on: 67
INFO 2020-03-17 06:45:46,688 judgehandler judge1: Grading has ended on: 67
INFO 2020-03-17 06:45:46,688 judgelist Judge available after grading 67: judge1
INFO 2020-03-17 08:13:04,323 judgelist Free judges: 1
INFO 2020-03-17 08:13:04,324 judgelist Dispatched submission 63 to: judge1
INFO 2020-03-17 08:13:04,341 judgehandler Submission acknowledged: 63
INFO 2020-03-17 08:13:05,259 judgehandler judge1: Submission generated compiler messages: 63
INFO 2020-03-17 08:13:05,297 judgehandler judge1: Grading has begun on: 63
INFO 2020-03-17 08:13:05,490 judgehandler judge1: 20 test case(s) completed on: 63
INFO 2020-03-17 08:13:05,740 judgehandler judge1: 12 test case(s) completed on: 63
INFO 2020-03-17 08:13:05,993 judgehandler judge1: 18 test case(s) completed on: 63
INFO 2020-03-17 08:13:06,246 judgehandler judge1: 10 test case(s) completed on: 63
INFO 2020-03-17 08:13:06,497 judgehandler judge1: 7 test case(s) completed on: 63
INFO 2020-03-17 08:13:06,748 judgehandler judge1: 13 test case(s) completed on: 63
INFO 2020-03-17 08:13:06,999 judgehandler judge1: 17 test case(s) completed on: 63
INFO 2020-03-17 08:13:07,100 judgehandler judge1: 3 test case(s) completed on: 63
INFO 2020-03-17 08:13:07,195 judgehandler judge1: Grading has ended on: 63
INFO 2020-03-17 08:13:07,195 judgelist Judge available after grading 63: judge1
INFO 2020-03-17 08:24:22,552 judgelist Free judges: 1
INFO 2020-03-17 08:24:22,553 judgelist Dispatched submission 66 to: judge1
INFO 2020-03-17 08:24:22,570 judgehandler Submission acknowledged: 66
INFO 2020-03-17 08:24:23,469 judgehandler judge1: Submission generated compiler messages: 66
INFO 2020-03-17 08:24:23,513 judgehandler judge1: Grading has begun on: 66
INFO 2020-03-17 08:24:24,456 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:25,208 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:25,958 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:26,710 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:27,461 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:28,212 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:28,963 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:29,714 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:30,466 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:32,967 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:34,755 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:37,701 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:38,462 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:38,699 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:38,895 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:39,823 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:39,953 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:40,072 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:40,190 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:40,309 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:40,737 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:41,488 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:42,498 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:42,990 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:43,803 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:44,493 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:45,474 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:45,995 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:48,833 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:49,522 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:50,522 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:51,445 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:52,724 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:54,554 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:57,735 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:59,334 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:59,489 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:59,650 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:24:59,794 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:00,445 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:00,918 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:01,033 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:01,128 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:01,221 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:01,373 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:01,467 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:01,769 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:02,520 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:03,779 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:04,565 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:05,867 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:06,412 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:06,903 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:07,413 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:07,779 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:08,780 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:09,618 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:10,282 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:11,281 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:12,546 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:12,689 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:13,287 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:15,030 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:16,166 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:16,597 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:16,792 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:17,543 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:18,545 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:19,296 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:20,887 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:20,982 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:21,550 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:22,495 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:23,691 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:23,951 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:24,554 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:25,556 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:26,307 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:27,058 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:27,809 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:28,560 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:29,311 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:30,573 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:30,814 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:31,565 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:32,316 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:33,067 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:34,918 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:35,862 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:37,273 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:38,821 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:39,952 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:41,092 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:42,292 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:43,096 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:43,911 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:44,383 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:44,502 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:44,708 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:44,826 judgehandler judge1: 1 test case(s) completed on: 66
INFO 2020-03-17 08:25:44,944 judgehandler judge1: Grading has ended on: 66
INFO 2020-03-17 08:25:44,945 judgelist Judge available after grading 66: judge1
INFO 2020-03-17 09:36:18,687 judgehandler judge1: Updated problem list
INFO 2020-03-17 09:36:57,505 judgehandler judge1: Updated problem list
INFO 2020-03-17 09:53:24,844 judgehandler judge1: Updated problem list
INFO 2020-03-17 09:53:45,291 judgehandler judge1: Updated problem list
INFO 2020-03-17 09:53:45,293 judgehandler judge1: Updated problem list
INFO 2020-03-17 09:55:08,413 judgelist Free judges: 1
INFO 2020-03-17 09:55:08,414 judgelist Dispatched submission 68 to: judge1
INFO 2020-03-17 09:55:08,431 judgehandler Submission acknowledged: 68
INFO 2020-03-17 09:55:08,495 judgehandler judge1: Grading has begun on: 68
INFO 2020-03-17 09:55:08,540 judgehandler judge1: 100 test case(s) completed on: 68
INFO 2020-03-17 09:55:08,739 judgehandler judge1: Grading has ended on: 68
INFO 2020-03-17 09:55:08,739 judgelist Judge available after grading 68: judge1
INFO 2020-03-17 10:02:36,565 judgelist Free judges: 1
INFO 2020-03-17 10:02:36,566 judgelist Dispatched submission 69 to: judge1
INFO 2020-03-17 10:02:36,582 judgehandler Submission acknowledged: 69
INFO 2020-03-17 10:02:36,645 judgehandler judge1: Grading has begun on: 69
INFO 2020-03-17 10:02:36,799 judgehandler judge1: 4 test case(s) completed on: 69
INFO 2020-03-17 10:02:37,049 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:37,300 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:37,551 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:37,801 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:38,052 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:38,302 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:38,553 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:38,803 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:39,098 judgehandler judge1: 4 test case(s) completed on: 69
INFO 2020-03-17 10:02:39,811 judgehandler judge1: 2 test case(s) completed on: 69
INFO 2020-03-17 10:02:39,994 judgehandler judge1: 1 test case(s) completed on: 69
INFO 2020-03-17 10:02:40,088 judgehandler judge1: 2 test case(s) completed on: 69
INFO 2020-03-17 10:02:40,188 judgehandler judge1: 6 test case(s) completed on: 69
INFO 2020-03-17 10:02:40,431 judgehandler judge1: 8 test case(s) completed on: 69
INFO 2020-03-17 10:02:40,561 judgehandler judge1: 6 test case(s) completed on: 69
INFO 2020-03-17 10:02:40,812 judgehandler judge1: 7 test case(s) completed on: 69
INFO 2020-03-17 10:02:40,939 judgehandler judge1: 4 test case(s) completed on: 69
INFO 2020-03-17 10:02:41,119 judgehandler judge1: Grading has ended on: 69
INFO 2020-03-17 10:02:41,120 judgelist Judge available after grading 69: judge1
INFO 2020-03-17 10:06:16,366 judgelist Free judges: 1
INFO 2020-03-17 10:06:16,366 judgelist Dispatched submission 70 to: judge1
INFO 2020-03-17 10:06:16,383 judgehandler Submission acknowledged: 70
INFO 2020-03-17 10:06:16,445 judgehandler judge1: Grading has begun on: 70
INFO 2020-03-17 10:06:16,499 judgehandler judge1: 100 test case(s) completed on: 70
INFO 2020-03-17 10:06:16,727 judgehandler judge1: Grading has ended on: 70
INFO 2020-03-17 10:06:16,727 judgelist Judge available after grading 70: judge1
INFO 2020-03-17 10:19:36,305 judgelist Free judges: 1
INFO 2020-03-17 10:19:36,306 judgelist Dispatched submission 71 to: judge1
INFO 2020-03-17 10:19:36,323 judgehandler Submission acknowledged: 71
INFO 2020-03-17 10:19:36,381 judgehandler judge1: Grading has begun on: 71
INFO 2020-03-17 10:19:36,495 judgehandler judge1: 2 test case(s) completed on: 71
INFO 2020-03-17 10:19:36,746 judgehandler judge1: 4 test case(s) completed on: 71
INFO 2020-03-17 10:19:37,500 judgehandler judge1: 2 test case(s) completed on: 71
INFO 2020-03-17 10:19:38,294 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:39,134 judgehandler judge1: 3 test case(s) completed on: 71
INFO 2020-03-17 10:19:39,738 judgehandler judge1: 3 test case(s) completed on: 71
INFO 2020-03-17 10:19:39,819 judgehandler judge1: 3 test case(s) completed on: 71
INFO 2020-03-17 10:19:39,913 judgehandler judge1: 2 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,006 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,100 judgehandler judge1: 2 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,194 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,288 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,393 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,546 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,789 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,888 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:40,988 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:41,095 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:42,010 judgehandler judge1: 5 test case(s) completed on: 71
INFO 2020-03-17 10:19:42,330 judgehandler judge1: 2 test case(s) completed on: 71
INFO 2020-03-17 10:19:42,509 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:42,687 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:42,806 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:42,943 judgehandler judge1: 8 test case(s) completed on: 71
INFO 2020-03-17 10:19:43,081 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:43,211 judgehandler judge1: 7 test case(s) completed on: 71
INFO 2020-03-17 10:19:44,145 judgehandler judge1: 1 test case(s) completed on: 71
INFO 2020-03-17 10:19:44,329 judgehandler judge1: Grading has ended on: 71
INFO 2020-03-17 10:19:44,329 judgelist Judge available after grading 71: judge1
INFO 2020-03-17 10:20:03,524 judgelist Free judges: 1
INFO 2020-03-17 10:20:03,524 judgelist Dispatched submission 72 to: judge1
INFO 2020-03-17 10:20:03,543 judgehandler Submission acknowledged: 72
INFO 2020-03-17 10:20:04,559 judgehandler judge1: Grading has begun on: 72
INFO 2020-03-17 10:20:04,980 judgehandler judge1: 100 test case(s) completed on: 72
INFO 2020-03-17 10:20:06,063 judgehandler judge1: Grading has ended on: 72
INFO 2020-03-17 10:20:06,064 judgelist Judge available after grading 72: judge1
INFO 2020-03-17 10:39:42,497 judgehandler judge1: Updated problem list
INFO 2020-03-17 10:40:06,623 judgelist Free judges: 1
INFO 2020-03-17 10:40:06,624 judgelist Dispatched submission 73 to: judge1
INFO 2020-03-17 10:40:06,641 judgehandler Submission acknowledged: 73
INFO 2020-03-17 10:40:07,021 judgehandler judge1: Grading has begun on: 73
INFO 2020-03-17 10:40:07,661 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:07,760 judgehandler judge1: 2 test case(s) completed on: 73
INFO 2020-03-17 10:40:07,898 judgehandler judge1: 2 test case(s) completed on: 73
INFO 2020-03-17 10:40:07,967 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:08,036 judgehandler judge1: 2 test case(s) completed on: 73
INFO 2020-03-17 10:40:08,105 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:08,641 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:10,832 judgehandler judge1: 2 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,113 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,207 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,301 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,395 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,508 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,626 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,745 judgehandler judge1: 5 test case(s) completed on: 73
INFO 2020-03-17 10:40:11,864 judgehandler judge1: 6 test case(s) completed on: 73
INFO 2020-03-17 10:40:12,042 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,078 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,256 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,374 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,494 judgehandler judge1: 1 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,612 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,754 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:13,898 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:14,186 judgehandler judge1: 7 test case(s) completed on: 73
INFO 2020-03-17 10:40:15,061 judgehandler judge1: 2 test case(s) completed on: 73
INFO 2020-03-17 10:40:15,343 judgehandler judge1: Grading has ended on: 73
INFO 2020-03-17 10:40:15,344 judgelist Judge available after grading 73: judge1
INFO 2020-03-17 10:41:31,866 judgehandler judge1: Updated problem list
INFO 2020-03-17 11:45:21,903 judgehandler judge1: Updated problem list
INFO 2020-03-17 11:46:04,956 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:03:42,222 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:04:10,459 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:06:29,965 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:06:29,967 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:06:51,732 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:08:18,391 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:08:33,491 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:08:40,406 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:08:47,975 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:17:40,345 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:50:27,823 judgehandler judge1: Updated problem list
INFO 2020-03-17 12:50:50,494 judgehandler judge1: Updated problem list
INFO 2020-03-17 13:03:40,569 judgehandler judge1: Updated problem list
INFO 2020-03-17 13:03:40,716 judgehandler judge1: Updated problem list
INFO 2020-03-17 13:04:09,882 judgehandler judge1: Updated problem list
INFO 2020-03-17 13:04:22,381 judgehandler judge1: Updated problem list
INFO 2020-03-17 13:07:13,538 judgehandler judge1: Updated problem list

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,23 @@
# Generated by Django 2.2.9 on 2020-03-17 05:05
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('judge', '0101_custom_validator'),
]
operations = [
migrations.AlterField(
model_name='problemdata',
name='checker',
field=models.CharField(blank=True, choices=[('standard', 'Standard'), ('floats', 'Floats'), ('floatsabs', 'Floats (absolute)'), ('floatsrel', 'Floats (relative)'), ('rstripped', 'Non-trailing spaces'), ('sorted', 'Unordered'), ('identical', 'Byte identical'), ('linecount', 'Line-by-line'), ('custom', 'Custom checker'), ('customval', 'Custom Validator')], max_length=10, verbose_name='checker'),
),
migrations.AlterField(
model_name='problemtestcase',
name='checker',
field=models.CharField(blank=True, choices=[('standard', 'Standard'), ('floats', 'Floats'), ('floatsabs', 'Floats (absolute)'), ('floatsrel', 'Floats (relative)'), ('rstripped', 'Non-trailing spaces'), ('sorted', 'Unordered'), ('identical', 'Byte identical'), ('linecount', 'Line-by-line'), ('custom', 'Custom checker'), ('customval', 'Custom Validator')], max_length=10, verbose_name='checker'),
),
]

View file

@ -0,0 +1,18 @@
# Generated by Django 2.2.9 on 2020-03-17 05:17
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('judge', '0102_fix_custom_validator'),
]
operations = [
migrations.RenameField(
model_name='problemdata',
old_name='custom_valid',
new_name='custom_validator',
),
]

View file

@ -30,6 +30,7 @@ CHECKERS = (
('identical', _('Byte identical')), ('identical', _('Byte identical')),
('linecount', _('Line-by-line')), ('linecount', _('Line-by-line')),
('custom', _('Custom checker')), ('custom', _('Custom checker')),
('customval', _('Custom Validator')),
) )
@ -52,6 +53,12 @@ class ProblemData(models.Model):
blank=True, blank=True,
upload_to=problem_directory_file, upload_to=problem_directory_file,
validators=[FileExtensionValidator(allowed_extensions=['py'])]) validators=[FileExtensionValidator(allowed_extensions=['py'])])
custom_validator = models.FileField(verbose_name=_('custom validator file'),
storage=problem_data_storage,
null=True,
blank=True,
upload_to=problem_directory_file,
validators=[FileExtensionValidator(allowed_extensions=['cpp'])])
__original_zipfile = None __original_zipfile = None
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
@ -78,6 +85,10 @@ class ProblemData(models.Model):
self.generator.name = _problem_directory_file(new, self.generator.name) self.generator.name = _problem_directory_file(new, self.generator.name)
if self.custom_checker: if self.custom_checker:
self.custom_checker.name = _problem_directory_file(new, self.custom_checker.name) self.custom_checker.name = _problem_directory_file(new, self.custom_checker.name)
if self.custom_checker:
self.custom_checker.name = _problem_directory_file(new, self.custom_checker.name)
if self.custom_validator:
self.custom_validator.name = _problem_directory_file(new, self.custom_validator.name)
self.save() self.save()
_update_code.alters_data = True _update_code.alters_data = True

View file

@ -69,6 +69,11 @@ class ProblemDataCompiler(object):
if len(custom_checker_path) != 2: if len(custom_checker_path) != 2:
raise ProblemDataError(_('How did you corrupt the custom checker path?')) raise ProblemDataError(_('How did you corrupt the custom checker path?'))
return(custom_checker_path[1]) return(custom_checker_path[1])
if (case.checker == 'customval'):
validator_path = split_path_first(case.custom_validator.name)
if len(validator_path) != 2:
raise ProblemDataError(_('How did you corrupt the custom checker path?'))
return(validator_path[1])
if case.checker_args: if case.checker_args:
return { return {
'name': case.checker, 'name': case.checker,

View file

@ -287,11 +287,11 @@ class ProblemList(QueryStringSortMixin, TitleMixin, SolvedProblemMixin, ListView
context_object_name = 'problems' context_object_name = 'problems'
template_name = 'problem/list.html' template_name = 'problem/list.html'
paginate_by = 50 paginate_by = 50
sql_sort = frozenset(('points', 'ac_rate', 'user_count', 'code')) sql_sort = frozenset(('date', 'points', 'ac_rate', 'user_count', 'code'))
manual_sort = frozenset(('name', 'group', 'solved', 'type')) manual_sort = frozenset(('name', 'group', 'solved', 'type'))
all_sorts = sql_sort | manual_sort all_sorts = sql_sort | manual_sort
default_desc = frozenset(('points', 'ac_rate', 'user_count')) default_desc = frozenset(('date', 'points', 'ac_rate', 'user_count'))
default_sort = 'code' default_sort = '-date'
def get_paginator(self, queryset, per_page, orphans=0, def get_paginator(self, queryset, per_page, orphans=0,
allow_empty_first_page=True, **kwargs): allow_empty_first_page=True, **kwargs):

View file

@ -8,7 +8,7 @@ from django.conf import settings
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.auth.mixins import LoginRequiredMixin
from django.core.exceptions import ValidationError from django.core.exceptions import ValidationError
from django.forms import BaseModelFormSet, HiddenInput, ModelForm, NumberInput, Select, formset_factory from django.forms import BaseModelFormSet, HiddenInput, ModelForm, NumberInput, Select, formset_factory, FileInput
from django.http import Http404, HttpResponse, HttpResponseRedirect from django.http import Http404, HttpResponse, HttpResponseRedirect
from django.shortcuts import get_object_or_404, render from django.shortcuts import get_object_or_404, render
from django.urls import reverse from django.urls import reverse
@ -50,9 +50,12 @@ class ProblemDataForm(ModelForm):
class Meta: class Meta:
model = ProblemData model = ProblemData
fields = ['zipfile', 'generator', 'output_limit', 'output_prefix', 'checker', 'checker_args', 'custom_checker'] fields = ['zipfile', 'checker', 'checker_args', 'custom_checker', 'custom_validator']
widgets = { widgets = {
'checker_args': HiddenInput, 'checker_args': HiddenInput,
'generator': HiddenInput,
'output_limit': HiddenInput,
'output_prefix': HiddenInput,
} }
@ -62,14 +65,14 @@ class ProblemCaseForm(ModelForm):
class Meta: class Meta:
model = ProblemTestCase model = ProblemTestCase
fields = ('order', 'type', 'input_file', 'output_file', 'points', fields = ('order', 'type', 'input_file', 'output_file', 'points',
'is_pretest', 'output_limit', 'output_prefix', 'checker', 'checker_args', 'generator_args') 'is_pretest', 'checker', 'checker_args') #, 'output_limit', 'output_prefix', 'generator_args')
widgets = { widgets = {
'generator_args': HiddenInput, # 'generator_args': HiddenInput,
'type': Select(attrs={'style': 'width: 100%'}), 'type': Select(attrs={'style': 'width: 100%'}),
'points': NumberInput(attrs={'style': 'width: 4em'}), 'points': NumberInput(attrs={'style': 'width: 4em'}),
'output_prefix': NumberInput(attrs={'style': 'width: 4.5em'}), # 'output_prefix': NumberInput(attrs={'style': 'width: 4.5em'}),
'output_limit': NumberInput(attrs={'style': 'width: 6em'}), # 'output_limit': NumberInput(attrs={'style': 'width: 6em'}),
'checker_args': HiddenInput, # 'checker_args': HiddenInput,
} }

View file

@ -180,7 +180,7 @@ header {
} }
a { a {
color: #FFF; color: #9c3706;
} }
li { li {
@ -206,7 +206,7 @@ header {
} }
& > span { & > span {
color: #eee; color: darkslateblue;
vertical-align: middle; vertical-align: middle;
display: inline; display: inline;
margin-top: 11px; margin-top: 11px;
@ -223,15 +223,15 @@ header {
} }
#nav-container { #nav-container {
background: $widget_black; background: linear-gradient(#c1e9fd, #63c8f9);
// opacity: 0.77 // opacity: 0.77;
// filter: alpha(opacity=77) // filter: alpha(opacity=77)
height: 100%; height: 100%;
} }
#navigation { #navigation {
position: fixed; position: relative;
top: 0; top: 0;
left: 0; left: 0;
right: 0; right: 0;
@ -276,7 +276,7 @@ nav {
display: inline-block; display: inline-block;
text-decoration: none; text-decoration: none;
vertical-align: middle; vertical-align: middle;
color: #3e452c; color: #9c3706;
padding: 13px 7px; padding: 13px 7px;
height: 18px; height: 18px;
@ -371,7 +371,7 @@ hr {
} }
#content { #content {
margin: 52px auto auto; margin: 1em auto auto;
// Header // Header
width: 90%; width: 90%;

View file

@ -203,9 +203,7 @@ label[for="language"], label[for="status"] {
} }
#test-cases { #test-cases {
.toggle .fa { font-size: 1.1em;
margin-left: -1.28571em;
}
.batch-cases { .batch-cases {
margin: 0; margin: 0;
@ -215,28 +213,13 @@ label[for="language"], label[for="status"] {
display: inline-block; display: inline-block;
} }
.batch-cases .case-row td b { // .batch-cases .case-row td b {
font-weight: 500; // font-weight: 500;
} // }
.case-row td:nth-child(3) {
padding-right: 0;
text-align: right;
}
.case-row td:nth-child(3) span {
float: right;
}
.case-row td:nth-child(4) {
text-align: right;
}
.case-info { .case-info {
margin: 0; margin: 0;
padding-left: 1em; padding: 1em;
padding-bottom: 3px;
padding-top: 3px;
border: 1px solid #2980b9; border: 1px solid #2980b9;
border-left-width: .5em; border-left-width: .5em;
border-radius: 4px; border-radius: 4px;
@ -245,18 +228,50 @@ label[for="language"], label[for="status"] {
.case-output { .case-output {
margin: 0; margin: 0;
margin-right: 1em; margin-top: 1em;
box-shadow: 0 1px 2px 0 rgba(34,36,38,.15);
margin: 1rem 0;
padding: 1em 1em;
border-radius: .28571429rem;
border: 1px solid rgba(34,36,38,.15);
font-family: Consolas;
} }
table td { #testcases-table {
margin: 0; width: 100%;
padding: 0 5px 0 0; border: 1px solid grey;
border-radius: 0.5em;
border-spacing: 0;
thead td:first-child {
border-top-left-radius: 0.5em;
}
thead td:last-child {
border-top-right-radius: 0.5em;
}
td {
padding: 0.6em 0.8em;
width: 18.75%;
border-bottom: 0.7px grey solid;
}
.case-row td:nth-child(2) {
width: 25%;
}
.case-row:hover {
cursor: pointer;
}
} }
.toggle { .toggle {
font-weight: normal; font-weight: normal;
} }
.case-feedback { .case-feedback {
vertical-align: top; vertical-align: top;
} }
@ -266,6 +281,31 @@ label[for="language"], label[for="status"] {
} }
} }
#overall-row:hover {
cursor: default !important;
}
.overall-result-AC {
background: linear-gradient(45deg, #a8ff78, #78ffd6);
}
.overall-result-WA {
background: linear-gradient(45deg, yellow, red);
}
.overall-result-TLE {
background: linear-gradient(45deg, #D7DDE8, #757F99);
}
.overall-result-RTE,
.overall-result-MLE {
background: linear-gradient(45deg, #fceabb, #f8b500)
}
.col-title {
font-weight: bold;
}
.case-AC { .case-AC {
color: green; color: green;
font-weight: bold; font-weight: bold;

View file

@ -2,10 +2,7 @@
{% block body %} {% block body %}
<!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body { <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><style>body {
max-width: 980px; margin: 0;
border: 1px solid #ddd;
outline: 1300px solid #fff;
margin: 16px auto;
} }
body .markdown-body body .markdown-body
@ -1079,28 +1076,13 @@ body .markdown-body
<p>Additionally, if the <code>check</code> method has the flag <code>run_on_error</code> set, it will be run against the submission&rsquo;s output, even if it receives an IR/TLE/RTE/MLE verdict. <p>Additionally, if the <code>check</code> method has the flag <code>run_on_error</code> set, it will be run against the submission&rsquo;s output, even if it receives an IR/TLE/RTE/MLE verdict.
The only built-in checker that has this flag set is the <code>linecount</code> checker.</p> The only built-in checker that has this flag set is the <code>linecount</code> checker.</p>
<h2 id="return">Return:<a class="headerlink" href="#return" title="Permanent link"></a></h2> <h2 id="return">Return:<a class="headerlink" href="#return" title="Permanent link"></a></h2>
<p><code>True</code> for correct output, <code>False</code> for incorrect one</p> <p><code>check</code> can return either a <code>CheckerResult</code> object (<code>from dmoj.result import CheckerResult</code>), or a boolean (<code>case_passed_bool</code>).
A <code>CheckerResult</code> can be instantiated through <code>CheckerResult(case_passed_bool, points_awarded, feedback='')</code>.</p>
<h2 id="sample-checker">Sample Checker:<a class="headerlink" href="#sample-checker" title="Permanent link"></a></h2> <h2 id="sample-checker">Sample Checker:<a class="headerlink" href="#sample-checker" title="Permanent link"></a></h2>
<p>Here is the checker for the problem: Print 2 integers having sum equal to n (n is read from input).</p> <p>Here is the checker for the problem: Print 2 integers having sum equal to n (n is read from input).</p>
<div class="codehilite"><pre><span class="k">def</span> <span class="nf">check</span><span class="p">(</span><span class="n">process_output</span><span class="p">,</span> <span class="n">judge_output</span><span class="p">,</span> <span class="n">judge_input</span><span class="p">,</span> <span class="o">**</span><span class="n">kwargs</span><span class="p">):</span> <iframe src="https://pastebin.com/embed_iframe/UvuchwbQ" style="border:none;width:100%;height:40em;"></iframe>
<span class="c1"># process the input</span>
<span class="n">input_arr</span> <span class="o">=</span> <span class="n">judge_input</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
<span class="k">assert</span><span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">input_arr</span><span class="p">)</span> <span class="o">==</span> <span class="mi">1</span><span class="p">)</span>
<span class="n">n</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">input_arr</span><span class="p">[</span><span class="mi">0</span><span class="p">])</span>
<span class="c1"># process the contestant&#39;s output</span> </article></body></html>
<span class="n">output_arr</span> <span class="o">=</span> <span class="n">process_output</span><span class="o">.</span><span class="n">split</span><span class="p">()</span>
<span class="k">if</span> <span class="p">(</span><span class="nb">len</span><span class="p">(</span><span class="n">output_arr</span><span class="p">)</span> <span class="o">!=</span> <span class="mi">2</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">False</span>
<span class="k">try</span><span class="p">:</span>
<span class="n">a</span><span class="p">,</span> <span class="n">b</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">output_arr</span><span class="p">[</span><span class="mi">0</span><span class="p">]),</span> <span class="nb">int</span><span class="p">(</span><span class="n">output_arr</span><span class="p">[</span><span class="mi">1</span><span class="p">])</span>
<span class="k">except</span><span class="p">:</span>
<span class="k">return</span> <span class="bp">False</span>
<span class="k">if</span> <span class="p">(</span><span class="n">n</span> <span class="o">==</span> <span class="n">a</span> <span class="o">+</span> <span class="n">b</span><span class="p">):</span>
<span class="k">return</span> <span class="bp">True</span>
<span class="k">return</span> <span class="bp">False</span>
</pre></div></article></body></html>
{% endblock body %} {% endblock body %}

View file

@ -95,21 +95,29 @@
}).change(); }).change();
} }
function checker_custom($checker, $custom_checker) { (function toggle_custom() {
$tr = $custom_checker.parent().parent(); let $custom_checker = $('#id_problem-data-custom_checker')
let $checker = $('#id_problem-data-checker')
let $validator = $('#id_problem-data-custom_validator')
$tr_checker = $custom_checker.parent().parent();
$tr_validator = $validator.parent().parent()
$td = $checker.parent(); $td = $checker.parent();
var $sample = $("<a/>",{ var $sample = $("<a/>",{
text: "Sample Checker", text: "{{_('Instruction')}}",
style: "margin-left:3em;", style: "margin-left:3em;",
target: "_blank", target: "_blank",
href: "{{url('custom_checker_sample')}}" href: "{{url('custom_checker_sample')}}"
}).appendTo($td); }).appendTo($td);
$checker.change(function () { $checker.change(function () {
$tr.toggle($checker.val().startsWith('custom')).change(); $tr_checker.toggle($checker.val() == 'custom').change();
$tr_validator.toggle($checker.val() == 'customval').change();
$sample.toggle($checker.val().startsWith('custom')).change(); $sample.toggle($checker.val().startsWith('custom')).change();
}).change(); }).change();
} })();
function swap_row($a, $b) { function swap_row($a, $b) {
var $a_order = $a.find('input[id$=order]'), $b_order = $b.find('input[id$=order]'); var $a_order = $a.find('input[id$=order]'), $b_order = $b.find('input[id$=order]');
@ -123,8 +131,7 @@
} }
checker_precision($('#id_problem-data-checker')); checker_precision($('#id_problem-data-checker'));
checker_custom($('#id_problem-data-checker'), $('#id_problem-data-custom_checker'));
$table.on('add-row', function (e, $tr) { $table.on('add-row', function (e, $tr) {
var $order = $tr.find('input').filter('[id$=order]').attr('type', 'hidden').val(++order); var $order = $tr.find('input').filter('[id$=order]').attr('type', 'hidden').val(++order);
$order.after($('<span>', {'class': 'order'}).text($order.val())) $order.after($('<span>', {'class': 'order'}).text($order.val()))
@ -306,26 +313,6 @@
$("input[name$='DELETE']").attr('checked', false); $("input[name$='DELETE']").attr('checked', false);
} }
}); });
var $controls = $('#column-visible');
var problem = $controls.attr('data-problem');
$controls.find('input').change(function () {
var $this = $(this), suffix = $this.attr('data-suffix'), checked = $this.is(':checked');
$table.find('.' + suffix.replace(/_/g, '-')).toggle(checked);
localStorage.setItem('data-visible:' + problem + ':' + suffix, checked ? '1' : '0')
}).each(function () {
var $this = $(this), suffix = $this.attr('data-suffix'), filled = false;
filled = localStorage.getItem('data-visible:' + problem + ':' + suffix);
if (filled !== null)
filled = filled == '1';
else {
filled = false;
$table.find('[id$=' + suffix + ']').each(function () {
filled |= !!$(this).val();
});
}
$this.prop('checked', filled).trigger('change');
});
}).change(); }).change();
</script> </script>
{% endblock %} {% endblock %}
@ -451,29 +438,7 @@
</a> </a>
</td> </td>
</table> </table>
<div id="column-visible" data-problem="{{ problem.code }}"> <input type="submit" value="{{ _('Apply!') }}" class="button" id="submit-button">
<strong>{{ _('Show columns:') }}</strong>
<label>
<input type="checkbox" data-suffix="output_prefix">
{{ _('Output prefix') }}
</label>
<label>
<input type="checkbox" data-suffix="output_limit">
{{ _('Output limit') }}
</label>
<label>
<input type="checkbox" data-suffix="checker">
{{ _('Checker') }}
</label>
<label>
<input type="checkbox" data-suffix="generator_args">
{{ _('Generator args') }}
</label>
<label>
<input type="checkbox" id="delete-all">
{{ _('Delete all') }}
</label>
</div>
<table id="case-table" class="table"> <table id="case-table" class="table">
<thead> <thead>
<tr> <tr>
@ -483,12 +448,10 @@
<th>{{ _('Output file') }}</th> <th>{{ _('Output file') }}</th>
<th>{{ _('Points') }}</th> <th>{{ _('Points') }}</th>
<th>{{ _('Pretest?') }}</th> <th>{{ _('Pretest?') }}</th>
<th class="output-prefix">{{ _('Output prefix') }}</th>
<th class="output-limit">{{ _('Output limit') }}</th>
<th class="checker">{{ _('Checker') }}</th>
<th class="generator-args">{{ _('Generator args') }}</th>
{% if cases_formset.can_delete %} {% if cases_formset.can_delete %}
<th>{{ _('Delete?') }} <th>{{ _('Delete?') }}
<br>
<input type="checkbox" name="delete-all" id="delete-all">
</th> </th>
{% endif %} {% endif %}
</tr> </tr>
@ -517,25 +480,15 @@
</td> </td>
<td>{{ form.points.errors }}{{ form.points }}</td> <td>{{ form.points.errors }}{{ form.points }}</td>
<td>{{ form.is_pretest.errors }}{{ form.is_pretest }}</td> <td>{{ form.is_pretest.errors }}{{ form.is_pretest }}</td>
<td class="output-prefix">{{ form.output_prefix.errors }}{{ form.output_prefix }}</td>
<td class="output-limit">{{ form.output_limit.errors }}{{ form.output_limit }}</td>
<td class="checker">
{{ form.checker.errors }}{{ form.checker }}{{ form.checker_args.errors }}{{ form.checker_args }}
</td>
<td class="generator-args">{{ form.generator_args.errors }}{{ form.generator_args }}
<a href="javascript:void(0)" class="edit-generator-args">
<i class="fa fa-pencil"></i>
{{ _('Edit') }}
</a>
</td>
{% if cases_formset.can_delete %} {% if cases_formset.can_delete %}
<td>{{ form.DELETE }}</td> <td>{{ form.DELETE }}
</td>
{% endif %} {% endif %}
</tr> </tr>
{% endfor %} {% endfor %}
</tbody> </tbody>
</table> </table>
<input type="submit" value="{{ _('Submit!') }}" class="button" id="submit-button"> <input type="submit" value="{{ _('Apply!') }}" class="button" id="submit-button">
<a id="add-case-row" href="#"><i class="fa fa-plus"></i> {{ _('Add new case') }}</a> <a id="add-case-row" href="#"><i class="fa fa-plus"></i> {{ _('Add new case') }}</a>
</form> </form>
<div style="display: none" class="generator-args-editor"><textarea></textarea><a class="button">Save</a></div> <div style="display: none" class="generator-args-editor"><textarea></textarea><a class="button">Save</a></div>

View file

@ -38,7 +38,7 @@
</div> </div>
{% endif %} {% endif %}
<br> <br>
<hr class="half-hr"> <hr>
<br> <br>
<div class="source-wrap"> <div class="source-wrap">
<table> <table>

View file

@ -17,7 +17,7 @@
{% if submission.error %} {% if submission.error %}
<h3>{{ _('Compilation Warnings') }}</h3> <h3>{{ _('Compilation Warnings') }}</h3>
<pre>{{ submission.error|ansi2html }}</pre> <pre>{{ submission.error|ansi2html }}</pre>
<hr class="half-hr"><br> <hr><br>
{% endif %} {% endif %}
{% if is_pretest %} {% if is_pretest %}
<h3>{{ _('Pretest Execution Results') }}</h3> <h3>{{ _('Pretest Execution Results') }}</h3>
@ -33,7 +33,48 @@
<br> <br>
<div class="batch-cases"> <div class="batch-cases">
{% endif %} {% endif %}
<table>{% for case in batch.cases %} <table id="testcases-table">
{% if submission.is_graded %}
{% if submission.result != 'AB' %}
<thead>
<tr id="overall-row" class="case-row overall-result-{{submission.result}}">
<td><span class="col-title">{{_('Overall: ')}}</span>
{% if request.in_contest and submission.contest_or_none %}
{% with contest=submission.contest_or_none %}
({{ _('%(points)s/%(total)s points', points=contest.points|roundfloat(3),
total=contest.problem.points|floatformat(-1)) }})
{% endwith %}
{% else %}
{{ _('%(points)s/%(total)s', points=submission.points|roundfloat(3),
total=submission.problem.points|floatformat(-1)) }}
{% endif %}
</td>
<td><span class="case-{{submission.result}}">{{submission.long_status}}</span></td>
<td><span class="col-title">{{_('Point: ')}}</span>
{{ submission.case_points|floatformat(0) }}/{{ submission.case_total|floatformat(0) }}
</td>
<td><span class="col-title">{{_('Time: ')}}</span>
{% if submission.result == "TLE" %}
<span>---</span>
{% else %}
<span title="{{ submission.time }}s">{{ (submission.time * 1000)|floatformat(0) }} ms</span>
{% endif %}
</td>
<td><span class="col-title">{{_('Memory: ')}}</span>{{ submission.memory|kbdetailformat }}</td>
</tr>
</thead>
{% endif %}
{% endif %}
{% for case in batch.cases %}
<tr id="{{ case.id }}" class="case-row toggle closed"> <tr id="{{ case.id }}" class="case-row toggle closed">
<td> <td>
{%- if ((prefix_length is none or prefix_length > 0) or (request.user.is_superuser)) -%} {%- if ((prefix_length is none or prefix_length > 0) or (request.user.is_superuser)) -%}
@ -50,26 +91,25 @@
<td> <td>
<span title="{{ case.long_status }}" class="case-{{ case.status }}"> <span title="{{ case.long_status }}" class="case-{{ case.status }}">
{%- if case.status == 'SC' %}&mdash;{% else %}{{ case.status }}{% endif -%} {%- if case.status == 'SC' %}&mdash;{% else %}{{ case.long_status }}{% endif -%}
</span> </span>
{%- if case.feedback %}&nbsp;({{ case.feedback }}){% endif -%}
</td> </td>
{% if not batch.id %}
<td><span class="col-title">{{_('Point')}}: </span> {{ case.points|floatformat(0) }}/{{ case.total|floatformat(0) }}</td>
{% endif %}
<td> <td>
{%- if case.status != 'SC' -%} {%- if case.status != 'SC' -%}
{%- if case.status == 'TLE' -%} {%- if case.status == 'TLE' -%}
[&gt;<span>{{ time_limit|floatformat(3) }}s,</span> <span><span class="col-title">{{_('Time')}}: &gt;</span>{{ (time_limit * 1000)|floatformat(0) }} ms</span>
{%- else -%} {%- else -%}
[<span title="{{ case.time }}s">{{ case.time|floatformat(3) }}s,</span> <span title="{{ case.time }}s"><span class="col-title">{{_('Time')}}: </span>{{ (case.time * 1000)|floatformat(0) }} ms</span>
{%- endif -%} {%- endif -%}
{%- endif -%} {%- endif -%}
</td> </td>
<td>{% if case.status != 'SC' %}{{ case.memory|kbdetailformat }}]{% endif %}</td> <td>{% if case.status != 'SC' %}<span class="col-title">{{_('Memory')}}: </span> {{ case.memory|kbdetailformat }}{% endif %}</td>
{% if not batch.id %}
<td>({{ case.points|floatformat(0) }}/{{ case.total|floatformat(0) }})</td>
{% endif %}
</tr> </tr>
{% if ((prefix_length is none or prefix_length > 0) or (request.user.is_superuser)) %} {% if ((prefix_length is none or prefix_length > 0) or (request.user.is_superuser)) %}
@ -79,20 +119,22 @@
{% set curr_data = cases_data[case.case] %} {% set curr_data = cases_data[case.case] %}
<strong>{{ _('Input:') }}</strong> <strong>{{ _('Input:') }}</strong>
<pre class="case-output">{{ curr_data['input']|linebreaksbr }}</pre> <pre class="case-output">{{ curr_data['input']|linebreaksbr }}</pre>
<strong>{{ _('Your output:') }}</strong> <strong>{{ _('Output:') }}</strong>
<pre class="case-output">{{ case.output|linebreaksbr }}</pre> <pre class="case-output">{{ case.output|linebreaksbr }}</pre>
<strong>{{ _('Answer:') }}</strong> <strong>{{ _('Answer:') }}</strong>
<pre class="case-output">{{ curr_data['answer']|linebreaksbr }}</pre> <pre class="case-output">{{ curr_data['answer']|linebreaksbr }}</pre>
{% if case.extended_feedback or case.feedback %}
<strong>{{ _('Judge feedback:') }}</strong>
{% if case.feedback %}
<pre class="case-output">{{ case.feedback|linebreaksbr }}</pre>
{% endif %}
{% if case.extended_feedback %}
<pre class="case-output">{{ case.extended_feedback|linebreaksbr }}</pre>
{% endif %}
{% endif %}
</div> </div>
</td> </td>
{% if case.extended_feedback %}
<td colspan="5" class="case-ext-feedback">
<div class="case-info">
<strong>{{ _('Judge feedback') }}</strong>
<pre class="case-output">{{ case.extended_feedback|linebreaksbr }}</pre>
</div>
</td>
{% endif %}
</tr> </tr>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
@ -104,29 +146,6 @@
{% if submission.is_graded %} {% if submission.is_graded %}
<br> <br>
{% if submission.result != "AB" %} {% if submission.result != "AB" %}
<b>{{ _('Resources:') }}</b>
{% if submission.result == "TLE" %}
<span>---,</span>
{% else %}
<span title="{{ submission.time }}s">{{ submission.time|floatformat(3) }}s,</span>
{% endif %}
{{ submission.memory|kbdetailformat }}
<br>
{% if is_pretest %}
<b>{{ _('Final pretest score:') }}</b>
{% else %}
<b>{{ _('Final score:') }}</b>
{% endif %}
{{ submission.case_points|floatformat(0) }}/{{ submission.case_total|floatformat(0) }}
{% if request.in_contest and submission.contest_or_none %}
{% with contest=submission.contest_or_none %}
({{ _('%(points)s/%(total)s points', points=contest.points|roundfloat(3),
total=contest.problem.points|floatformat(-1)) }})
{% endwith %}
{% else %}
({{ _('%(points)s/%(total)s points', points=submission.points|roundfloat(3),
total=submission.problem.points|floatformat(-1)) }})
{% endif %}
{% if is_pretest and submission.result == "AC" %} {% if is_pretest and submission.result == "AC" %}
<br> <br>
<i>{{ _('Passing pretests does not guarantee a full score on system tests.') }}</i> <i>{{ _('Passing pretests does not guarantee a full score on system tests.') }}</i>

View file

@ -72,7 +72,7 @@
{% endif %} {% endif %}
<br> <br>
<hr class="half-hr"> <hr>
<br> <br>
<div id="test-cases">{% include "submission/status-testcases.html" %}</div> <div id="test-cases">{% include "submission/status-testcases.html" %}</div>
@ -81,7 +81,7 @@
{% if request.user == submission.user.user or perms.judge.abort_any_submission %} {% if request.user == submission.user.user or perms.judge.abort_any_submission %}
<div id="abort-button"> <div id="abort-button">
<br> <br>
<hr class="half-hr"> <hr>
<br> <br>
<form action="{{ url('submission_abort', submission.id) }}" method="post"> <form action="{{ url('submission_abort', submission.id) }}" method="post">
{% csrf_token %} {% csrf_token %}