Logo
(追記) (追記ここまで)

1377번 - 버블 소트

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB246008081639836.090%

문제

버블 소트 알고리즘을 다음과 같이 C++로 작성했다.

bool changed = false;
for (int i=1; i<=N+1; i++) {
 changed = false;
 for (int j=1; j<=N-i; j++) {
 if (A[j] > A[j+1]) {
 changed = true;
 swap(A[j], A[j+1]);
 }
 }
 if (changed == false) {
 cout << i << '\n';
 break;
 }
}

위 소스에서 N은 배열의 크기이고, A는 정렬해야 하는 배열이다. 배열은 A[1]부터 사용한다.

위와 같은 소스를 실행시켰을 때, 어떤 값이 출력되는지 구해보자.

입력

첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다.

출력

정답을 출력한다.

제한

예제 입력 1

5
10
1
5
2
3

예제 출력 1

3

예제 입력 2

5
1
3
5
7
9

예제 출력 2

1

힌트

출처

  • 문제를 번역한 사람: baekjoon
  • 문제의 오타를 찾은 사람: skynet
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /