Files
CodeObject/storage/zeta/_static/24123.html
2026-04-27 09:44:16 +09:00

227 lines
9.4 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BOJ 24123 - Offline</title>
<style>
:root {
--bg: #fafaf8;
--paper: #ffffff;
--ink: #1e1f24;
--muted: #6a6d75;
--line: #d8dce3;
--accent: #0d6e6e;
--code-bg: #f4f6fb;
}
* { box-sizing: border-box; }
body {
margin: 0;
background:
radial-gradient(circle at 15% 0%, #f0efe9 0%, transparent 42%),
radial-gradient(circle at 85% 20%, #e7f1f2 0%, transparent 38%),
var(--bg);
color: var(--ink);
font-family: "Noto Sans KR", "Pretendard", "Apple SD Gothic Neo", sans-serif;
line-height: 1.65;
}
main {
max-width: 980px;
margin: 0 auto;
padding: 24px 16px 56px;
}
.header {
background: var(--paper);
border: 1px solid var(--line);
border-radius: 14px;
padding: 18px 20px;
margin-bottom: 18px;
}
.header h1 { margin: 0 0 6px; font-size: 1.5rem; }
.header p { margin: 0; color: var(--muted); font-size: 0.95rem; }
.header a { color: var(--accent); text-decoration: none; }
.section {
background: var(--paper);
border: 1px solid var(--line);
border-radius: 14px;
padding: 16px 18px;
margin-bottom: 14px;
overflow-x: auto;
}
h2 {
margin: 0 0 10px;
font-size: 1.05rem;
color: var(--accent);
border-bottom: 1px solid var(--line);
padding-bottom: 8px;
}
pre, code {
font-family: "JetBrains Mono", "Fira Code", monospace;
background: var(--code-bg);
}
pre {
padding: 12px;
border-radius: 10px;
border: 1px solid #e7ebf2;
overflow: auto;
}
blockquote {
margin: 14px 0;
padding: 16px 16px 14px 22px;
border-left: 4px solid var(--accent);
border-radius: 10px;
background: linear-gradient(90deg, #eef8f8 0%, #f9fdfd 100%);
color: #24313a;
font-weight: 600;
position: relative;
}
blockquote::before {
content: "“";
position: absolute;
left: 8px;
top: 2px;
font-size: 1.35rem;
line-height: 1;
color: #0b5f5f;
opacity: 0.7;
}
blockquote > :first-child { margin-top: 0; }
blockquote > :last-child { margin-bottom: 0; }
q {
color: #114f50;
font-weight: 700;
background: #edf8f8;
border-radius: 6px;
padding: 0 4px;
}
.math-inline math {
font-size: 1em;
vertical-align: middle;
}
.math-block {
margin: 10px 0;
padding: 8px 10px;
overflow-x: auto;
background: #f8fbff;
border: 1px solid #e2ecf8;
border-radius: 8px;
}
.math-block math {
font-size: 1.04em;
display: block;
}
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid var(--line); padding: 6px 8px; }
img { max-width: 100%; height: auto; }
</style>
</head>
<body>
<main>
<header class="header">
<h1>コンテスト (Contest)</h1>
</header>
<article class="section">
<h2>문제</h2>
<p>世の中には様々なプログラミングコンテストがある例えば情報オリンピックACM-ICPCICFP の 様に世界中の相手と競い合う物や, Supercomputing Contestパソコン甲子園EPOCH @まつやまの国内 大会などなど,枚挙にいとまがない.</p>
<p>そのようなコンテストに参加していると自分でコンテストを開催したいと考える人もあらわれる.あな たの友人もそんな一人である.友人はコンテストの問題準備に忙しく,コンテストのログから参加者の得点 を計算するプログラムの作成をあなたに依頼してきた.是非とも友人のコンテストが成功するように,間 違いのない得点計算プログラムを作ってあげて欲しい.</p>
<p>コンテストの参加者は N 人で,問題が M 問で,競技時間が T 秒である.参加者には 1 から N までの番 号が割り振られている.問題にも 1 から M までの番号が振られている.</p>
<p>このコンテストでは,各参加者は問題毎に,問題文を閲覧し,問題を解き,解答のソースコードを提出 する.競技は時刻 0 からはじまり,時刻 T で終了する.参加者が問題を閲覧すると,時刻と参加者番号と 問題番号がログに 1 件の情報として記録される.参加者が解答ソースコードを提出すると,時刻と参加者 番号と問題番号と解答ソースコードの正誤がログに 1 件の情報として記録される.</p>
<p>各参加者はコンテスト開始から 1 秒毎に「ある問題を閲覧する」か「ある問題のソースコードを提出す る」のいずれかを 1 回行うことが出来る.閲覧前にその問題のソースコードを提出する事や,正解後に再 度ソースコードを提出する事は出来ない.</p>
<p>参加者 j が問題 i を,時刻 S<sub>ij</sub> に閲覧しw<sub>ij</sub> 回の不正解のソースコードを提出後,時刻 E<sub>ij</sub> に正解のソー スコードを提出したときの得点は,</p>
<p style="text-align: center;">(p<sub>i</sub> &minus; (E<sub>ij</sub> &minus; S<sub>ij</sub>) &minus; 120w<sub>ij</sub>) と X のうち大きい方</p>
<p>であるただしp<sub>i</sub> は問題 i の配点X は問題番号に依存しない正解した時の最低得点である.</p>
<p>競技終了までに,正解しなかった問題の得点は 0 点である.</p>
<p>各参加者の得点は,その参加者の問題毎の得点の合計である.</p>
<p>N, M, T, X, ログに含まれる情報の件数,各問題の配点,および,ログの内容が与えられたときに各参加 者の得点を計算するプログラムを作成せよ.</p>
</article>
<article class="section">
<h2>입력</h2>
<p>標準入力から以下の入力を読み込め.</p>
<ul>
<li>1 行目には,参加者数 N問題数 M競技時間 T正解問題の最低得点 Xログの件数 Y が空白を区 切りとして書かれている.</li>
<li>続く M 行のうち i 行目には,問題 i の得点を表す整数 p<sub>i</sub> が書かれている.</li>
<li>続く Y 行はログの内容を表す.それらのうちの k 行目にはログの k 番目の情報が書き込まれており, その情報が記録された時刻を表す整数 t<sub>k</sub>,参加者番号を表す整数 n<sub>k</sub>,問題番号を表す整数 m<sub>k</sub>,およ び &ldquo;open&rdquo; , &ldquo;correct&rdquo; , &ldquo;incorrect&rdquo; のいずれかの文字列が空白区切りで書かれている. &ldquo;open&rdquo; は問題を閲覧したことを表す.&ldquo;correct&rdquo; は提出したソースコードが正解であったことを表す. &ldquo;incorrect&rdquo; は提出したソースコードが不正解であったことを表す.</li>
</ul>
</article>
<article class="section">
<h2>출력</h2>
<p>標準出力に以下のデータを出力せよ.</p>
<ul>
<li>データは N 行からなりj 行目は j 番の参加者の得点を含む.</li>
</ul>
</article>
<article class="section">
<h2>제한</h2>
<ul>
<li>1 &le; N &le; 1, 000 参加者数</li>
<li>1 &le; M &le; 10 問題数</li>
<li>100 &le; T &le; 10, 000 コンテストの競技時間</li>
<li>1 &le; X &le; 100 正解問題の最低得点</li>
<li>0 &le; Y &le; 10, 000 ログに含まれる情報の件数</li>
<li>X &le; p<sub>i</sub> &le; T 問題 i の配点</li>
<li>0 &le; t<sub>1</sub> &le; t<sub>2</sub> &le; . . . &le; t<sub>k</sub> &le; . . . &le; t<sub>Y</sub> &le; T ログの k 番目の情報が記録された時刻を表す整数</li>
<li>1 &le; n<sub>k</sub> &le; N ログの k 番目の情報に含まれる参加者番号</li>
<li>1 &le; m<sub>k</sub> &le; M ログの k 番目の情報に含まれる問題番号</li>
</ul>
</article>
<article class="section">
<h2>예제 입력 1 복사</h2>
<pre class="sampledata" id="sample-input-1">1 3 1200 30 8
50
1000
800
0 1 1 open
100 1 2 open
400 1 1 correct
500 1 2 incorrect
600 1 2 correct
700 1 3 open
800 1 3 incorrect
900 1 3 incorrect
</pre>
</article>
<article class="section">
<h2>예제 입력 2 복사</h2>
<pre class="sampledata" id="sample-input-2">3 2 1000 10 10
878
712
0 2 1 open
0 1 1 open
0 3 1 open
100 3 1 correct
100 2 1 correct
100 1 2 open
200 2 2 open
200 1 2 incorrect
300 1 2 correct
300 2 2 correct
</pre>
</article>
<article class="section">
<h2>예제 출력 1 복사</h2>
<pre class="sampledata" id="sample-output-1">410
</pre>
</article>
<article class="section">
<h2>예제 출력 2 복사</h2>
<pre class="sampledata" id="sample-output-2">392
1390
778
</pre>
</article>
</main>
</body>
</html>