• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

강사님 항상 좋은 강의 감사드립니다. 코드 리뷰 부탁드립니다.

20.11.10 19:06 작성 조회수 112

0

아래 코드처럼 시간복잡도 O(N)으로 처리하였는데 이 경우 반례가 생길 여지가 있을까요? 정답 제출시 100점이라고는 뜹니다.

#include <iostream>
#include <algorithm>
using namespace std;
int n, mx;
int tmp = 1;
int arr[100005];

int main() {
	freopen("input.txt", "rt", stdin);
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%d", &arr[i]);
	}
	
	/*
	9
	5 7 3 3 12 12 13 10 11
	[0], [1]....
	i = 1  arr[0] <= arr[1]
	i = 2  arr[1] <= arr[2]
	i = 3  arr[2] <= arr[3]
	i ...  arr[i-1] <= arr[i]
	*/
	for (int i = 1; i < n; i++){
		if(arr[i-1] <= arr[i]) {
			tmp++;
		} else {
			tmp = 1;
		}
		mx = max(mx, tmp);
	}

	printf("%d", mx);
	return 0;
}

답변 2

·

답변을 작성해보세요.

0

디라오님의 프로필

디라오

질문자

2020.11.13

답변 감사합니다.!

0

안녕하세요^^

반례가 없어 보입니다.