๊ตฌ๋ฆ
์ด๋ผ๋ ๊ณณ์์ ๋ฌธ์ ํ์ด ์ฑ๋ฆฐ์ง(๊ตฌ๋ฆํค ์ฑ๋ฆฐ์ง)๋ฅผ ํ๋ค๊ณ ํด์ ์ฐธ์ฌ ์ค์ด๋ค. ์ด๋ฒคํธ ๊ธฐ๊ฐ ๋์ ๋ฌธ์ ๊ฐ ๊พธ์ค์ด ์ฌ๋ผ์ค๋ฉฐ, ์ฃผ์ 2ํ์ฉ (ํน์ ๊ทธ ์ด์) ์ฑ๋ฆฐ์ง ๋ฌธ์ ๋ค์ ๋ํด ํ์ด๊ฐ ๊ฐ๋ฅํ ๋ฌธ์ ๋ค์ ํ์ดํด๋ณด๊ณ , ํ๊ธฐ๋ฅผ ๋จ๊ฒจ๋ณด๋ ค๊ณ ํ๋ค.
์ด ๋ฌธ์ ์ ๊ฒฝ์ฐ ์ฌ๋์ด ์๋ฒฝํ ํ๋ฒ๊ฑฐ
๋ฅผ ํ์ ํ๋ค๋ฉด ์ด๋ป๊ฒ ํ ์ ์์์ง ์๊ฐํด๋ณด๋ฉด ์ฝ๋ค. ์ฐ์ , ์ต๋๊ฐ์ ์ฐพ๋๋ค. ๊ทธ๋ฆฌ๊ณ , ์ต๋๊ฐ ์ข/์ฐ์ธก์ผ๋ก ๊ทธ ๊ฐ๋ณด๋ค ๊ฐ๊ฑฐ๋ ์์ ๊ฐ์ด ๊ณ์ํด์ ๋์์ผ ํ๋ค๋ ์ฌ์ค์ ๊ด์ฐฐํ ์ ์๋ค.
์ฆ, ํฌ ํฌ์ธํฐ
๋ฅผ ์ฌ์ฉํ๋ ๋๋์ผ๋ก ํ๋ฉด ๋๋ ๋ฌธ์ ์ด๋ฉฐ, ์๊ฐ๋ณต์ก๋๋ ์ด ๋๋ค. ์์ง Python
์ด ์ต์ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด ๋ฌธ์ ๋ ๊ธฐ์กด์ฒ๋ผ C++
๋ก ํ์ดํด๋ณด์๋ค.
#include <bits/stdc++.h>using namespace std;int main() {int N; scanf("%d", &N);vector<int> A;int maxval = 0;int maxpos = -1;int sum = 0;for(int i = 0; i < N; ++i) {int tmp; scanf("%d", &tmp);A.push_back(tmp);sum += tmp;if (tmp > maxval) {maxpos = i;maxval = tmp;}}bool flag = true;for(int i = maxpos; i >= 1; --i) {if (A[i - 1] <= A[i]) continue;flag = false;}for(int i = maxpos; i < N - 1; ++i) {if (A[i] >= A[i + 1]) continue;flag = false;}if (flag) {printf("%d\n", sum);} else {printf("0\n");}return 0;}