From 838374b74ccaeb0de64d6a6267757aaf38ffdb51 Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 4 Aug 2022 16:11:32 +0800 Subject: [PATCH] judge: only skip subtask if score marked as zero --- packages/hydrojudge/package.json | 2 +- packages/hydrojudge/src/judge/default.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) 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) ) {