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

208 lines
7.6 KiB
HTML

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>BOJ 19592 - 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>장난감 경주</h1>
</header>
<article class="section">
<h2>문제</h2>
<p>당신을 포함한 N명의 참가자가 각자 자신의 장난감 자동차를 이용해 경주를 하는데, 트랙의 길이는 X 미터이다.</p>
<p>참가자는 1번부터 N번까지 번호가 매겨져 있고, 당신의 참가 번호는 N번이다.</p>
<p>i번 참가자의 자동차의 일반적인 속도는 V[i] meters per sec (m/s)&nbsp;이며, 당신을 제외한 모든 참가자의 자동차는 출발점 부터 도착점까지 항상 일정한 속도로 움직인다.</p>
<p>단, 당신의 장난감 자동차는 특수 부스터가 있기 때문에, 처음 1초간 Z m/s 로 움직이도록 설정할 수 있다 (이 때 트랙의 나머지 거리는 V[N] m/s 로 일정한 속도로 움직인다).</p>
<p>경주 시작 전 정수 Z값을 고를 수 있으며, 이 값은 반드시 부스터 속도 한계치인 Y m/s 이하이어야 한다 (Z &le; Y).&nbsp;</p>
<p>당신은 꼭 이 경주에서 단독 1등을 하고 싶은데, 부스터를 지나치게 사용하면 의심 받을 수 있으니 단독 우승이 가능토록 하는 최소의 Z값을 구하고 싶다.</p>
<p>예를 들어 N = 3, X = 12, Y = 11 이라하고, V = [3, 2, 1] 이라 하자.</p>
<ul>
<li>1번 참가자의 자동차는 3 m/s의 일정한 속도로 움직여서 4초만에 경주를 마친다.</li>
<li>2번 참가자의 자동차는 2 m/s의 일정한 속도로 움직여서 6초만에 경주를 마친다.</li>
<li>3번 참가자인 당신의 경우 여러 가지 가능성이 있다.
<ul>
<li>부스터를 사용하지 않으면 1 m/s의 일정한 속도로 움직여서 12초만에 경주를 마친다.</li>
<li>부스터를 최대치로 사용하면 (Z = Y) 첫 1초간 11m를 이동하고, 나머지 1m를 1초간 주행해서 2초만에 경주를 마치며 단독 우승 할 수 있다.</li>
<li>부스터를&nbsp;조금 덜 사용하여 Z = 10미터를 1초만에&nbsp;이동하면, 나머지 2m는 원래 속도로 이동하여 총 3초가 걸리고, 단독&nbsp;우승할 수 있다.</li>
<li>그보다 조금 덜 사용하여 Z = 9미터를 1초만에 이동하면, 나머지 3m는 원래 속도로 이동하여 총 4초가 걸리고, 1번 자동차와 같은 시간만큼 걸린다 (공동 우승).</li>
</ul>
</li>
</ul>
<p>위의 예제의 경우 단독 우승을 하기 위해&nbsp;최소 10미터를 부스터를 사용하여 이동하여야 하므로, 원하는 답이 10이다.</p>
<p>입력으로 N, X, Y, 그리고 각 장난감 자동차의 속도 V가 주어졌을 때 단독 우승을 하기 위해 부스터를 사용해서 이동해야하는 최소한의 거리를 구하는 프로그램을 작성하시오.</p>
</article>
<article class="section">
<h2>입력</h2>
<p>첫 줄에 테스트 케이스의 수 T가 주어진다.</p>
<p>각 테스트 케이스의 첫 줄에 N, X, Y가 공백으로 구분되어 주어진다.</p>
<p>둘째 줄에 N개의 정수가 공백으로 구분되어 주어지는데 이는 각 장난감 자동차의 속도 V[i]를 나타낸다.</p>
</article>
<article class="section">
<h2>출력</h2>
<p>각 테스트 케이스에 대해 단독 우승을 위해 부스터를 사용해서 이동해야하는 최소한의 거리를 출력한다.</p>
<p>만약 부스터를 쓰지 않고도 단독 우승이 가능하다면 0을 출력한다.</p>
<p>부스터를 최대치로 사용하고도 단독 우승이 불가능하다면 -1을 출력한다.</p>
</article>
<article class="section">
<h2>제한</h2>
<ul>
<li>1 &le; T &le; 10</li>
<li>2 &le; N &le; 1,000</li>
<li>1 &le; Y &le; X &le; 1,000,000</li>
<li>1 &le; V[i] &le; 1,000,000</li>
</ul>
</article>
<article class="section">
<h2>예제 입력 1 복사</h2>
<pre class="sampledata" id="sample-input-1">5
3 12 11
3 2 1
3 12 9
3 2 1
3 12 10
3 4 5
3 80 80
80 60 70
3 80 80
70 50 60
</pre>
</article>
<article class="section">
<h2>예제 출력 1 복사</h2>
<pre class="sampledata" id="sample-output-1">10
-1
0
-1
72
</pre>
</article>
</main>
</body>
</html>