반응형
https://www.acmicpc.net/problem/14659
요약 )
- 첫 번째로 입력한 수는 봉우리의 개수 이자 활잡이들의 수이다.
- 두 번째로 입력했던 봉우리의 개수만큼의 높이를 입력한다.
- 봉우리의 개수는 1 이상 30,000 이하.
- 높이는 1 이상 100,000 이하.
- 입력한 왼쪽 봉우리부터 오른쪽으로 하나씩 비교하면서 자기보다 낮으면 처지 했다고 한다.
- 만일 본인 보다 오른쪽의 수(높이)가 높으면 더 강한 활잡이라고 생각하고 기준이 바뀐다.
- 그 봉우리 개수 중에서 가장 많이 처지 하는 수를 출력해주면 된다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n, a, mmax, cnt;
cin >> n;
vector<int> v;
for (int i = 0; i < n; i++) {
cin >> a;
v.push_back(a);
}
a = 0, mmax = 0, cnt = 0;
for (int i = 0; i < n; i++) {
if (v[i] < a)
cnt++;
else {
mmax = max(mmax, cnt);
cnt = 0;
a = v[i];
}
}
mmax = max(mmax, cnt);
cout << mmax << endl;
}
'C++' 카테고리의 다른 글
(C++) [백준] 핸드폰 번호 궁합 (0) | 2023.01.10 |
---|---|
(C++) [백준] 피보나치 비스무리한 수열 (2) | 2023.01.10 |
(C++) [백준] 전자레인지 (0) | 2023.01.10 |
(C++) [백준] 369 (0) | 2023.01.10 |
(C++) [백준] 약수 구하기 (0) | 2023.01.10 |