コンテストの制限時間が終了しました。
以降も提出を行うことができますが、順位集計には反映されません。
以降も提出を行うことができますが、順位集計には反映されません。
ソースコード
with v1 as
(
select
ENT.USER_ID as USER_ID
, SUB.POINT as POINT
, SUB.PROBLEM_ID as PROB
, STATUS as STATUS
, strftime('%s', ENT.STARTED_AT) as START
, strftime('%s', SUB.SUBMITTED_AT) as SUBMIT
from
SUBMISSIONS SUB
join
ENTRIES ENT
on
ENT.ENTRY_ID = SUB.ENTRY_ID
and ENT.CONTEST_ID = SUB.CONTEST_ID
and ENT.USER_ID = SUB.USER_ID
where
SUB.CONTEST_ID = '2'
and ENT.ENTRY_ID is not NULL
)
select
RANK() OVER(ORDER BY t1.POINT DESC, (t1.TOTAL_TIME + t2.CNT * 300)) as RANK
, t1.USER_ID as USER_ID
, t1.POINT as POINT
, t1.TOTAL_TIME + t2.CNT * 300 as EX_TIME
, t2.CNT as WRONG_ANS
from
(
select
v1.USER_ID as USER_ID
, sum(v1.POINT) as POINT
, max(v1.SUBMIT) - v1.START as TOTAL_TIME
from
v1
where
v1.STATUS = 'AC'
group by
v1.USER_ID
) t1
join
(
select
t3.USER_ID as USER_ID
, max(t3.CNT) as CNT
from
(
select
t31.USER_ID as USER_ID
, count(t31.WRONG_SUB) as CNT
from
(
select
v1.USER_ID as USER_ID
, v1.PROB as PROB
, v1.SUBMIT as WRONG_SUB
from
v1
where
v1.STATUS = 'WA'
) t31
,
(
select
v1.USER_ID as USER_ID
, v1.PROB as PROB
, v1.SUBMIT as AC_TIME
from
v1
where
v1.STATUS = 'AC'
) t32
where
t31.USER_ID = t32.USER_ID
and t31.PROB = t32.PROB
and t31.WRONG_SUB < t32.AC_TIME
group by
t31.USER_ID
union
select
v1.USER_ID as USER_ID
, 0 as CNT
from
v1
) t3
group by
t3.USER_ID
) t2
on
t1.USER_ID = t2.USER_ID
where
POINT > 0
order by
RANK
, WRONG_ANS
, USER_ID
提出情報
提出日時 | 2022/10/20 02:52:37 |
コンテスト | 第3回 SQLコンテスト |
問題 | 順位計算 |
受験者 | marocas |
状態 (詳細) | AC (Accepted: 正答) |
メモリ使用量 | 86 MB |
メッセージ
テストケース(通過数/総数)
2/2
状態
メモリ使用量
データパターン1
AC
86 MB
データパターン2
AC
82 MB