diff --git a/packages/hydrojudge/src/judge/objective.ts b/packages/hydrojudge/src/judge/objective.ts
index 2acaa0d64..a278325a9 100644
--- a/packages/hydrojudge/src/judge/objective.ts
+++ b/packages/hydrojudge/src/judge/objective.ts
@@ -39,7 +39,7 @@ export async function judge({
memory: 0,
};
if (typeof ansInfo[0] === 'string') {
- if (answer[0].trim() === answers[key].trim()) {
+ if (ansInfo[0].trim() === answers[key].trim()) {
totalScore += score;
totalStatus = Math.max(totalStatus, STATUS.STATUS_ACCEPTED);
next({
diff --git a/packages/ui-default/pages/problem_detail.page.jsx b/packages/ui-default/pages/problem_detail.page.jsx
index c18663d44..34bc18c23 100644
--- a/packages/ui-default/pages/problem_detail.page.jsx
+++ b/packages/ui-default/pages/problem_detail.page.jsx
@@ -224,9 +224,18 @@ const page = new NamedPage(['problem_detail', 'contest_detail_problem', 'homewor
$('.problem-content .typo').append(document.getElementsByClassName('nav__item--round').length
? ''
: '');
- $('input.objective-input').on('input', (e) => {
+ $('input.objective-input[type!=checkbox]').on('input', (e) => {
ans[e.target.name] = e.target.value;
});
+ $('input.objective-input[type=checkbox]').on('input', (e) => {
+ if (e.target.checked) {
+ if (ans[e.target.name] === undefined) ans[e.target.name] = [];
+ ans[e.target.name].push(e.target.value);
+ } else {
+ ans[e.target.name] = ans[e.target.name].filter((v) => v !== e.target.value);
+ }
+ console.log(ans);
+ });
$('input[type="submit"]').on('click', (e) => {
e.preventDefault();
request