(백준) 1838 – 버블 정렬(C++)

쉬운 목차

문제

1838: 버블 정렬(acmicpc.net)

1838: 버블 정렬

버블 정렬은 배열에서 인접한 값을 비교하고 더 작은 값이 더 뒤에 있을 때 두 값을 교환하는 과정을 반복하는 정렬 방법입니다.

N개의 다른 정수는 A(0), A(1), …, A(N-1)과 같습니다.

www.acmicpc.net

설명

(백준) 1377 – Bubble Sort (C++) — GreenGroup 문제와 99% 동일.

(백준) 1377 – 버블정렬 (C++)

문제 1377: 버블 정렬(acmicpc.net) 문제 1377: 버블 정렬 N이 첫 번째 줄에 제공됩니다.

N은 500,000 이하의 자연수이다.

두 번째 라인부터 N 라인까지 A(1)부터 A(N)까지 하나씩 주어진다.

A의 숫자는

greengroup.co.kr

#include <iostream>
#include <vector>
using namespace std;

int main() {
    int N;
    cin >> N;

    vector<pair<int, int>> A(N);
    for (int i = 0; i < N; i++) {
        cin >> A(i).first;
        A(i).second = i;
    }
    
    sort(A.begin(), A.end());
    
    int MAX = 0;
    for (int i = 0; i < N; i++) {
        if (MAX < A(i).second - i) {
            MAX = A(i).second - i;
        }
    }
    
    cout << MAX;

    return 0;
}