본문 바로가기

Algorithm

C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 11722번:가장 긴 감소하는 부분 수열 답

반응형

algorithm헤더가 필요한 *max_element()함수를 사용해 풀었습니다.

*max_element(배열.begin(),배열.end())

무조건 시작은 0번째 인덱스부터 입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
    int n;
    cin >> n;
    //*max_element(배열의처음(*0번째 인덱스 부터 시작한다).begin(),끝.end())
    vector <int> a(n);
    vector <int> d(n);
    for (int i = 0; i < n; i++)
        cin >> a[i];
 
    for (int i = 0; i < n; i++)
    {
        d[i] = 1;
        for (int j = 0; j < i; j++)
        {
            if (a[i] < a[j]&&d[j]+1>d[i])
                d[i] = d[j] + 1;
        }
    }
    cout << *max_element(d.begin(),d.end()) << '\n';
}
cs