コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
WITH TEMP AS
(
SELECT
MAIN.USER_ID AS USER_ID
,MIN(MAIN.STARTED_AT) AS STARTED_AT
,SUM(SUB.POINT) AS POINT
,SUM(CASE WHEN IFNULL(SUB.STATUS, 'AC') != 'AC' AND SUB.SUBMITTED_AT < MAX_SUB.MAX_AC_TIME THEN 1 ELSE 0 END) AS WRONG_ANS
,MAX(MAX_SUB.MAX_AC_TIME) AS MAX_AC_TIME
FROM ENTRIES AS MAIN
INNER JOIN SUBMISSIONS AS SUB
ON MAIN.CONTEST_ID = SUB.CONTEST_ID
AND MAIN.USER_ID = SUB.USER_ID
INNER JOIN (SELECT CONTEST_ID, USER_ID, PROBLEM_ID, MAX(SUBMITTED_AT) AS MAX_AC_TIME FROM SUBMISSIONS WHERE STATUS = 'AC' AND ENTRY_ID IS NOT NULL GROUP BY CONTEST_ID, USER_ID, PROBLEM_ID) AS MAX_SUB
ON SUB.CONTEST_ID = MAX_SUB.CONTEST_ID
AND SUB.USER_ID = MAX_SUB.USER_ID
AND SUB.PROBLEM_ID = MAX_SUB.PROBLEM_ID
WHERE MAIN.CONTEST_ID = 2
AND SUB.ENTRY_ID IS NOT NULL
GROUP BY MAIN.USER_ID
)
SELECT
RANK() OVER(ORDER BY POINT DESC, EX_TIME, WRONG_ANS) AS RANK
,USER_ID
,POINT
,EX_TIME
,WRONG_ANS
FROM (
SELECT
USER_ID
,POINT
,strftime('%s', MAX_AC_TIME) - strftime('%s', STARTED_AT) + (300 * WRONG_ANS) AS EX_TIME
,WRONG_ANS
FROM TEMP
)
WHERE POINT > 0
ORDER BY RANK, WRONG_ANS, USER_ID
;
提出情報
提出日時 | 2022/10/19 22:32:50 |
コンテスト | 第3回 SQLコンテスト |
問題 | 順位計算 |
受験者 | jalapeno |
状態 (詳細) | WA (Wrong Answer: 誤答) |
メモリ使用量 | 108 MB |
メッセージ
テストケース(通過数/総数)
1/2
状態
メモリ使用量
データパターン1
AC
81 MB
データパターン2
WA
108 MB