コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
SELECT
RANK() OVER(ORDER BY C.POINT DESC, EX_TIME + 300 * COALESCE(WRONG_ANS, 0) ASC) AS RANK,
MST.USER_ID,
C.POINT,
EX_TIME + COALESCE(WRONG_ANS, 0) * 300 AS EX_TIME,
COALESCE(WRONG_ANS, 0) AS WRONG_ANS
FROM
ENTRIES AS MST
INNER JOIN
(
SELECT
E.ENTRY_ID,
strftime('%s', ENDDT) - strftime('%s', STARTED_AT) AS EX_TIME
FROM
ENTRIES AS E
INNER JOIN
(
SELECT
ENTRY_ID,
MAX(SUBMITTED_AT) AS ENDDT
FROM
SUBMISSIONS
WHERE
CONTEST_ID = 2 AND STATUS = 'AC' AND ENTRY_ID IS NOT NULL
GROUP BY
ENTRY_ID
) AS S ON E.ENTRY_ID = S.ENTRY_ID
) AS B ON MST.ENTRY_ID = B.ENTRY_ID
LEFT JOIN
(
SELECT
ENTRY_ID,
SUM(POINT) AS POINT
FROM
SUBMISSIONS AS T1
WHERE
CONTEST_ID = 2 AND STATUS = 'AC' AND ENTRY_ID IS NOT NULL
GROUP BY
ENTRY_ID
) AS C ON MST.ENTRY_ID = C.ENTRY_ID
LEFT JOIN
(
SELECT
ENTRY_ID,
COUNT(1) AS WRONG_ANS
FROM
SUBMISSIONS AS T1
WHERE
CONTEST_ID = 2 AND STATUS = 'WA' AND ENTRY_ID IS NOT NULL
AND T1.SUBMITTED_AT < (SELECT SUBMITTED_AT FROM SUBMISSIONS AS T WHERE T.ENTRY_ID = T1.ENTRY_ID AND T.PROBLEM_ID = T1.PROBLEM_ID AND T.CONTEST_ID = 2 AND T.STATUS = 'AC' AND T.ENTRY_ID IS NOT NULL)
GROUP BY
ENTRY_ID
) AS D ON MST.ENTRY_ID = D.ENTRY_ID
WHERE
C.POINT IS NOT NULL AND C.POINT > 0
ORDER BY
RANK,
WRONG_ANS,
USER_ID
提出情報
提出日時 | 2022/10/20 00:06:40 |
コンテスト | 第3回 SQLコンテスト |
問題 | 順位計算 |
受験者 | telestate |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 97 MB |
メッセージ
テストケース(通過数/総数)
1/2
状態
メモリ使用量
データパターン1
AC
95 MB
データパターン2
WA
97 MB