https://www.acmicpc.net/problem/12845
간단한 문제입니다.
레벨이 변하지 않으므로, 최대값의 레벨을 가진 카드의 양방향으로 더해나가면 해결되는 문제입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | #include <iostream> #include <string> #include <vector> #include <queue> #include <string.h> #include <cmath> #define ll long long #define mp make_pair #define pii pair<int, int> #define vi vector<int> #define vii vector<pair<int, int> > #define vll vector<ll> #define MOD 86400 #define INF 0x7fffffff #define MAX_SIZE (int)1e5 using namespace std; //ios::sync_with_stdio(false); cin.tie(0); int n; int arr[(int)1e3]; int main() { ios::sync_with_stdio(false); cin.tie(0); cin >> n; int M = 0; int pos; for (int i = 0; i < n; i++) { cin >> arr[i]; if (arr[i] > M) { M = arr[i]; pos = i; } } int ret = 0; for (int i = pos - 1; i >= 0; i--) { ret += M + arr[i]; } for (int i = pos + 1; i < n; i++) { ret += M + arr[i]; } cout << ret; return 0; } | cs |
'알고리즘 > 구현' 카테고리의 다른 글
[3190] 뱀 (4) | 2018.01.10 |
---|---|
[2140] 지뢰찾기 (0) | 2017.12.27 |
[12841] 정보대 등산 (0) | 2017.08.23 |
[1700] 멀티탭 스케줄링 (0) | 2017.08.01 |
[1992] 쿼드 트리 (0) | 2017.07.30 |