@@ -157,8 +157,10 @@ export abstract class JudgeAgent {
157157 return executableAgent . compile ( ) ;
158158 } ) ;
159159 if ( compileResult !== undefined ) {
160+ const compileSumTime =
161+ compileResult . time . sys + compileResult . time . usr ;
160162 const exteaInfo = {
161- compileTime : this . transformTime ( compileResult . time . usr ) ,
163+ compileTime : this . transformTime ( compileSumTime ) ,
162164 compileMessage : await readStream (
163165 fs . createReadStream (
164166 await executableAgent . fileAgent . getPath ( CompileLogName ) ,
@@ -184,7 +186,7 @@ export abstract class JudgeAgent {
184186 if ( compileResult . signal === 25 ) {
185187 compileJudgeType = transformer . ole ;
186188 } else if (
187- compileResult . time . usr > executable . limit . compiler . cpuTime ||
189+ compileSumTime > executable . limit . compiler . cpuTime ||
188190 ( compileResult . time . real > executable . limit . compiler . cpuTime &&
189191 compileResult . returnCode === - 1 &&
190192 compileResult . signal === 9 )
@@ -298,11 +300,13 @@ export abstract class JudgeAgent {
298300 sysJudge += sysErr ;
299301 }
300302 const sysSummary = sysJudge . slice ( 0 , 4 ) . toLocaleLowerCase ( ) ;
303+ const userRunSumTime = userResult . time . usr + userResult . time . sys ;
304+ const sysRunSumTime = sysResult . time . usr + sysResult . time . sys ;
301305 const kind = ( ( ) : JudgeResultKind => {
302306 if ( userResult . signal === 25 ) {
303307 return JudgeResultKind . OutpuLimitExceeded ;
304308 } else if (
305- userResult . time . usr > userExec . limit . runtime . cpuTime ||
309+ userRunSumTime > userExec . limit . runtime . cpuTime ||
306310 ( userResult . time . real > userExec . limit . runtime . cpuTime &&
307311 userResult . returnCode === - 1 &&
308312 userResult . signal === 9 )
@@ -319,7 +323,7 @@ export abstract class JudgeAgent {
319323 } else if ( sysResult . signal === 25 ) {
320324 return JudgeResultKind . SystemOutpuLimitExceeded ;
321325 } else if (
322- sysResult . time . usr > sysExec . limit . runtime . cpuTime ||
326+ sysRunSumTime > sysExec . limit . runtime . cpuTime ||
323327 ( sysResult . time . real > sysExec . limit . runtime . cpuTime &&
324328 sysResult . returnCode === - 1 &&
325329 sysResult . signal === 9 )
@@ -346,7 +350,7 @@ export abstract class JudgeAgent {
346350 return JudgeResultKind . WrongAnswer ;
347351 }
348352 } ) ( ) ;
349- const rawTime = userResult . time . usr ;
353+ const rawTime = userRunSumTime ;
350354 // sleep(inf);
351355 // codeforces: Idleness limit exceeded, time: 0ms
352356 // luogu: TLE, time: 1ms
0 commit comments