Skip to content

Commit 6f65220

Browse files
Merge pull request #8 from flaryer/only_nsjail
time-->sys+usr
2 parents 13524fe + b0e129f commit 6f65220

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

src/Utilities/Judge.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)