fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 29354 (C++) Завоеватель
최초 업로드: 2025-11-01 19:09:17
최근 수정 시간: 2025-11-01 19:09:17
게시자: rlatjwls3333
카테고리: 백준
조회수: 9
# [Bronze I] Завоеватель [문제 링크](https://www.acmicpc.net/problem/29354) ## 문제 설명 <blockquote> <p>И я видел, что Агнец снял первую из семи печатей, и я услышал одно из четырёх животных, говорящее как бы громовым голосом: иди и смотри.</p> <p>Я взглянул, и вот, конь белый, и на нем всадник, имеющий лук, и дан был ему венец;</p> <p>и вышел он как победоносный, и чтобы победить.</p> <p>Откровение Иоанна Богослова</p> </blockquote> <p>Первый всадник Апокалипсиса Завоеватель пришел на Землю. Увидели это жители одного города и решили предупредить свою столицу, дабы ее жители успели покаяться. С этой целью жителями города в столицу был отправлен гонец на лошади.</p> <p>Дорога между этим городом и столицей представляет собой прямую, на которой, включая этот город и столицу, расположены $n$ городов, причем расстояние между любыми соседними городами на этой прямой одинаково. В каждом из $n - 2$ городов, мимо которых гонцу необходимо проехать, он может сменить лошадь в конюшне. Хозяин каждой конюшни знает, сколько минут требуется лошади в этой конюшне на дорогу между двумя соседними городами. За какое минимальное время гонец сможет добраться до столицы ($n$-го города на этой прямой)?</p> ## 입력 <p>В первой строке входного файла содержится одно целое число $n$ ($1 \le n \le 100{\,}000$) --- количество городов. В следующей строке содержатся $n$ натуральных чисел $t_i$ ($1 \le t_i \le 10^6$) --- количество минут, необходимое лошади из конюшни в $i$-ом городе на преодоление расстояния между двумя городами. Заметим, что первое число означает скорость лошади, которая была у гонца при выезде из первого города, а последнее --- скорость лошади в конюшне столицы.</p> ## 출력 <p>В выходной файл выведите одно число --- количество минут, за которое гонец доедет до столицы.</p> ## 풀이 1 ~ n-1인 i에 대해 i까지의 최소를 각각 더해주면 됩니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; long long sum=0, curMin=INT_MAX; for(int i=0;i<n-1;i++) { long long cur; cin >> cur; curMin = min(curMin, cur); sum += curMin; } cout << sum; } ```