diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index ad592fae..6c56a19c 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", "bin": "bin/hydrojudge.js", - "version": "2.22.3", + "version": "2.22.4", "main": "package.json", "author": "undefined ", "repository": "https://github.com/hydro-dev/Hydro.git", diff --git a/packages/hydrojudge/src/judge/default.ts b/packages/hydrojudge/src/judge/default.ts index 7f5ccedd..684eabb5 100644 --- a/packages/hydrojudge/src/judge/default.ts +++ b/packages/hydrojudge/src/judge/default.ts @@ -21,7 +21,8 @@ const logger = new Logger('judge/default'); function judgeCase(c: NormalizedCase, sid: string) { return async (ctx: Context, ctxSubtask: ContextSubTask, runner?: Function) => { - if (ctx.errored || (ctx.failed[sid] && ctxSubtask.subtask.type === 'min') + if (ctx.errored + || (ctxSubtask.subtask.type === 'min' && ctxSubtask.score === 0) || (ctxSubtask.subtask.type === 'max' && ctxSubtask.score === ctxSubtask.subtask.score) || ((ctxSubtask.subtask.if || []).filter((i) => ctx.failed[i]).length) ) {