백준14659 한조서열정리하고옴ㅋㅋ

문제 링크

  • https://www.acmicpc.net/problem/14659

문제 출처

  • 제1회 천하제일 코딩대회 본선 J번

시간복잡도

  • O(n2)

풀이

  1. n을 입력 받습니다.
  2. 높이를 입력 받습니다.
  3. 각 봉우리에서 오른쪽으로 가면서 자신보다 높은 봉우리를 만날때 까지 cnt++;
  4. 3번 항복의 최대값을 구해서 출력합니다.

전체 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <bits/stdc++.h>
using namespace std;

vector<int> v;

int main(){
	int ans = 0;
	int n; scanf("%d", &n);
	for(int i=0; i<n; i++){
		int t; scanf("%d", &t);
		v.push_back(t);
	}
	for(int i=0; i<v.size(); i++){
		int now = 0;
		for(int j=i+1; j<v.size(); j++){
			if(v[i] > v[j]) now++;
			else break;
		}
		ans = max(ans, now);
	}
	printf("%d", ans);
}